200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > php学习笔记-php数组的创建和使用 数组常用函数-day03

php学习笔记-php数组的创建和使用 数组常用函数-day03

时间:2018-11-25 16:53:39

相关推荐

php学习笔记-php数组的创建和使用 数组常用函数-day03

php数组的创建和使用,数组常用函数

数组的概念一维数组的创建和使用1.直接将变量声明为数组元素2.通过array()函数来创建一维数组3.数组的元素值的访问4.数组元素的赋值方式5.数组的注意事项 二维数组的创建和使用1.二维数组的创建2.二维数组的数组元素值访问3.二维元素的数组元素赋值 数组的常用函数1.快速创建数组的函数2.数组统计函数3.数组指针函数4.数组和变量间的转换函数5.数组遍历的常用函数6.数组检索函数7.数组排序函数8.数组集合运算函数9.php数组提供的数据结构函数(栈,队列)

数组的概念

数组是一组批量的数据存储空间,且这一段空间是连续的,每个存储空间都存储了一个数组元素。元素之间通过使用 “键” 来识别,通过数组名和 “键” 来组合访问。php中的数组的键值可以是字符型,整型,浮点型,布尔型,对象 也可以嵌套数组形成二维数组。但是一般情况下,为了便于调试和开发,数组的键大多都是字符型和整型(太灵活随意了也不好,还得严格一点)。php中的数组可以自由扩充大小。

一维数组的创建和使用

1.直接将变量声明为数组元素

不指定元素的键,则默认键名从0开始递增

<?php $colors[] =["black","blue","yellow"];var_dump($colors);?>

2.在声明时指定元素的键 通过 键=>值的方式

<?php// 这里实际上是将这5个元素全部都填充到了数组的第一维,后面如果添加的话,就会使数组变成多维数组$peoples[] = ["p1"=>"张三","p2"=>"李四","p3"=>"王五","p4"=>false,"p5"=>null];var_dump($peoples);?>

如果添加数组元素时不指定键,则默认使用当前数组中的已有元素最大整数键上面加1。

<?php //上面一开始初始化数组时,相当于 0=>[5个元素],所以这一次应该是 1=>["白一"]$peoples[] = "白一";// 现在其实已经变成了三维数组$peoples["p6"] = "猴六";var_dump($peoples);?>

下面是在同一维数组中,添加数组元素:

<?php $names["name1"] = "夜雨声烦";$names["name2"] = "大漠孤烟";$names["name3"] = "一叶知秋";$names["name4"] = "长河落日";var_dump($names);$names["addName"] = "魔欲乘风";var_dump($names);?>

2.通过array()函数来创建一维数组

array()函数可以用键值对的方式并且以逗号分隔来对数组初始化 ,array(“key”=>“value”,“key”=>“value”,);

<?php$humans = array("h1"=>"张三","h2"=>"李四","h3"=>"王五","h4"=>"赵六","h5"=>"马奇");var_dump($humans);//这里你就能看到与上面自己手动初始化的不同了// 使用array()函数,默认是在一个一维数组里面添加$humans["h6"] = "猴六";var_dump($humans);?>

使用array()函数,默认是在一个一维数组里面添加(末尾追加的方式)

3.数组的元素值的访问

通过 $数组名[键名] 的方式来访问数组元素

<?php$arr_test = array("demo1"=>"zhang","demo2"=>"san");var_dump($arr_test["demo1"]);//string(5) "zhang"?>

4.数组元素的赋值方式

在php数组中,数组元素的赋值也和变量一样,分为两种传值赋值传地址赋值

1.传值赋值

传值方式不会改变原本的数组内容

<?php$src_arr = array("t1"=>"demo1","t2"=>"demo2");var_dump($src_arr); // array(2) {["t1"]=> string(5) "demo1" ["t2"]=> string(5) "demo2"}$dest_arr = $src_arr;var_dump($dest_arr);// array(2) {["t1"]=> string(5) "demo1" ["t2"]=> string(5) "demo2"}$dest_arr["t1"] = "t1";var_dump($src_arr);// array(2) {["t1"]=> string(5) "demo1" ["t2"]=> string(5) "demo2"}var_dump($dest_arr);// array(2) {["t1"]=> string(2) "t1" ["t2"]=> string(5) "demo2"}?>

2.传地址赋值

传地址方式会改变原有的数组内容

<?php $src_arr1 = array("t1"=>"demo1","t2"=>"demo2");$dest_arr1 = &$src_arr1;var_dump($src_arr1);//array(2) {["t1"]=> string(5) "demo1" ["t2"]=> string(5) "demo2"}var_dump($dest_arr1);//array(2) {["t1"]=> string(5) "demo1" ["t2"]=> string(5) "demo2"}$dest_arr1["t1"] = "t1";var_dump($src_arr1);//array(2) {["t1"]=> string(2) "t1" ["t2"]=> string(5) "demo2"}var_dump($dest_arr1);//array(2) {["t1"]=> string(2) "t1" ["t2"]=> string(5) "demo2"}?>

5.数组的注意事项

数组的注意事项:

如果数组元素的键是一个浮点数,那么它会被强制转换为整数。比如 1.3 --> 1 。如果是布尔型,则 true -> 1,false ->0如果数组元素的键是一个字符串,且它的内容就是一个数字,则它会被强制转换为整型的数字( “123.5” -> 123)数组元素的键是唯一的,不能重复,如果重复则会覆盖之前的内容数组元素的键,要尽量避免使用未定义的常量和变量,因为其底层php预处理器会将这些未定义的变量和常量转换为字符串,浪费资源,且可读性不高

二维数组的创建和使用

二维数组的创建,其实就是嵌套使用array()函数,然后其数组元素的访问和赋值与一维数组是一模一样的过程。

1.二维数组的创建

嵌套使用array()函数,生成二维数组。

<?php$ds_array = array("st1"=>array("姓名"=>"叶秋","性别"=>"男"),"st2"=>array("姓名"=>"小白","性别"=>"女"));var_dump($ds_array);?>

2.二维数组的数组元素值访问

二维数组值的访问,就是$数组名[行][列] $数组名[一维键名][二维键名]

<?php$ds_array = array("st1"=>array("姓名"=>"叶秋","性别"=>"男"),"st2"=>array("姓名"=>"小白","性别"=>"女"));var_dump($ds_array);var_dump($ds_array["st1"]);// array(2) { ["姓名"]=> string(6) "叶秋" ["性别"]=> string(3) "男"}var_dump($ds_array["st1"]["姓名"]);//string(6) "叶秋"?>

3.二维元素的数组元素赋值

二维数组的数组元素赋值,和一维数组是一模一样的,我就简单的举几个例子

<?php$ds_array = array("st1"=>array("姓名"=>"叶秋","性别"=>"男"),"st2"=>array("姓名"=>"小白","性别"=>"女"));$ds_array["st1"] = array("姓名"=>"张三","性别"=>"男");$ds_array["st3"] = array("姓名"=>"吕小布","性别"=>"男");$ds_array["st2"]["姓名"] = "黄月英";var_dump($ds_array);?>

传值和传地址赋值也是和一维数组一模一样,就pass掉啦。

传地址赋值会导致原本的数组内容发改变,同一个数组被两个变量指向,传值赋值不会,它相当于是一个副本copy.

数组的常用函数

php数组十分灵活和强大,它的键值可以是多种类型,而且它的键可以是连续或者不连续的。php为数组提供了丰富且功能强大的数组处理函数。(API调用工程师,哈哈哈)。

1.快速创建数组的函数

2.数组统计函数

3.数组指针函数

php为每一个创建的数组,都建立了一个对应的“内部指针系统”。“内部指针系统”会为每一个新建的php数组,自动的建立一个“当前指针”指向数组的第一个元素,每个元素内部有一个指针(next)指向下一个元素,一个指针(prev)指向上一个元素。

4.数组和变量间的转换函数

5.数组遍历的常用函数

foreach(array as v a l u e ) 每次循环中,“当前指针”所指元素的“值”赋给变量 value) 每次循环中,“当前指针”所指元素的“值”赋给变量 value)每次循环中,“当前指针”所指元素的“值”赋给变量value,然后移动数组array的指针,使“当前指针”指向下一个元素,直至数组array中的最后一个元素(最后一个元素的当前指针为空)。

foreach(array as k e y = > key=> key=>value)

每次循环中,“当前指针”所指元素的键名赋给变量 k e y , 元素的“值”赋给变量 key,元素的“值”赋给变量 key,元素的“值”赋给变量value,然后移动数组array的指针,使“当前指针”指向下一个元素,直至数组array中的最后一个元素(最后一个元素的当前指针为空)。

<?php$info =array('coffee','tea','water');foreach ($info as $value){echo $value."";//coffeeteawater }foreach ($info as $key=>$value){echo $key."=>".$value."";//0=>coffee1=>tea2=>water}?>

6.数组检索函数

7.数组排序函数

8.数组集合运算函数

9.php数组提供的数据结构函数(栈,队列)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。