PHP中的数组与数据结构

来源:互联网 发布:开淘宝怎么进货 编辑:程序博客网 时间:2024/06/07 02:25

  在PHP中的数组可以分为两类一类是索引数组(indexed)另一种是关联数组(associative)。所以数组的索引值时整数,在大多数编程语言中,数组都具有数字索引,以0开始,依次递增,这就比较常见了,在其他的语言中也有。第二种呢是以字符串作为索引值,在其他编程语言中非常少见,但在PHP中使用以字符串作为下边的关联数组非常方便,当通过名称来标识数组元素时,可以使用关联数组。

  1、数组的声明

$数组变量名[下标] = 资料内容//其中索引值(下标)可以是一个字符串或者一个整数

这事最简单的一维数组的声明方法。而输出的时候直接使用 echo语句一个一个输出就可以了。想查看数组中的所有元素的内容的时候呢,就可以使用print_r()和var_dump()函数来打印出元素中所有的内容。另外在PHP中,索引数组的下标可以使非连续的值,只要再初始化时指定非连续的下标值即可。

  2、使用array()语言结构新建数组

$数组变量名 = array(key1=>value1,key2=>value2,.....,keyN=>valueN);

或者

$数组变量名 = array(1,"12","123","1234"....);

如果使用array()语言结构声明关联数组,就必须使用"=>"运算符指定字符串下标。

  3、多维数组的声明

$数组变量名 = array(

array(),

array(),

......

);访问的时候多维数组和一维数组是一样的通过多个索引值来访问多维数组,例如$contact[0][1]...[n]

  4、数组的遍历

foreach(array_expression as $value){循环体}或者foreach(array_expression as $key => $value){循环体}

在其他语言中通常是使用for来循环遍历数组,但是在PHP中因为存在了数组的索引值是可以不连续的所以引入了foreach,在使用foreach的时候与数组的下标无关。上面给的两个格式不同点是,左边的格式在遍历后,会把键值一起输出。

  5、数组的相关处理函数

①函数in_array()检查数组中是否存在某个值,即在数组中搜索给定的值。bool in_array(mixed needle,array haystack[,bool strict])本函数中有三个参数,前两个参数是必需的,最后一个参数是可选的。

②array_reverse()函数的作用是将原来数组中的元素顺序翻转,创建新的数组并返回。array array_reverser(array array[,bool preserve_keys]),第一个参数是必选项,接受一个数组作为输入,第二个参数是可选项。

③count()函数的作用是计算数组中的元素树木或者对象中的属性个数。int count(mixed var[,int mode]),其中第一个参数也是必需的,第二个参数是可选的。

④array_filter()函数用回调函数过滤数组中的元素,返回按用户定义函数过滤后的新数组。array_filter(array input[,callback callback]),该函数的第一个参数是必选项,第二个参数是可选项

  6、简单的数组排序函数

$sort()函数和rsort()函数,前者是从小到大,后者是从大到小。

  7、删除数组中的元素操作

$unset函数可以删除数组中的元素,但是原数组不会自动索引,所以需要重新对原来的数组建立新的索引

  8、数组中的符号运算

+ 号运算,两个数组相加合并,当两个数组的下标一样的时候,谁在后面谁就被覆盖。

原创粉丝点击