PHP数组总汇
数组,顾名思义,本质上就是一系列数据的组合。在这个组合中,每个数据都是独立的,可以对每个单独的数据进行分配和读取。PHP对数据的操作能力非常强大,尤其是PHP为程序开发人员提供了大量方便、易懂的数组操作函数,本章重点PHP数组的创建和使用。
创建数组和使用数组
在PHP中创建数组的方式主要有两种:一种是应用array()函数创建数组,另一种是直接通过为数组元素赋值的方式创建数组。
1.1使用array()函数创建数组
用array()语言结构来新建一个数组,该数组接受任意数量用逗号分隔的键(key)=>值(value)对;同时也可以在array中只给出数组元素值,而不必给出键,格式如下:
//键值对 array(key=>value,...) //只有值 array(value1,value2,...)
在只有值而没有键的数组,在使用其中的数据时,可以直接利用他们在数组中的排列顺序取值:
$array = [100,"name"=>‘lhs‘]; echo $array[0];//100 echo $array[1];//报错
注:1、应用array()函数声明数组时,数组下标既可以是数值索引也可以是关联索引。
2、自PHP5.4起可以使用短数组定义语法,用[ ]代替array(),如:$array=[‘asp‘,‘php‘]。
3、排列顺序取数组的值,默认下标从0开始,然后依次增加1。
1.2通过赋值方式创建数组
PHP中另一种比较灵活的数组创建方式是直接为数组元素赋值。如果在创建数组是不知道所创建数组的大小,或在实际编写程序时数组的大小可能发生改变,采用这种数组创建的方法较好,例如:
$array[1]="赋"; $array[2]="值"; $array[3]="方"; $array[4]="式"; print_r($array);//Array ( [1] => 赋 [2] => 值 [3] => 方 [4] => 式 )
1.3数组的类型
PHP支持两种数组:数字索引和关联数组,前者使用数字作为键,后者使用字符串作为键。
1.4多维数组
数组不一定就是一个键名和值得简单列表,数组中的每个位置还可以保存另一数组。使用这种方法,可以创建一个二维数组,例如:
$array = array( ‘书籍‘ => array(‘文学‘,‘历史‘,‘地理‘), ‘体育用品‘=>array(‘m‘=>‘足球‘,‘n‘=>‘篮球‘) ); echo "<pre>"; print_r($array);
运行结果:
Array ( [书籍] => Array ( [0] => 文学 [1] => 历史 [2] => 地理 ) [体育用品] => Array ( [m] => 足球 [n] => 篮球 ) )
按照同样的思路,将前面二维数组中最底层元素替换成数组,就可以创建一个三维数组。
1.5遍历数组
遍历数组中的所有元素是常用的一种操作,在遍历的过程中可以完成查询等功能。本文实例讲述了PHP数组遍历的几种常见方式,分享给大家供大家参考
1.5.1、使用for循环遍历数组
for循环只能用于遍历,纯索引数组!!!!
$arr = array(1,2,3,5,6,7); $num = count($arr); //count最好放到for外面,可以让函数只执行一次 echo "数组元素的个数{$num}<br/>"; for($i=0;$i<$num;$i++){ echo "{$i}==>{$arr[$i]}<br/>"; }
结果如下:
数组元素的个数6 0==>1 1==>2 2==>3 3==>5 4==>6 5==>7
1.5.2、forEach循环遍历数组(最常用)
foreach可以遍历任何类型的数组!!!
$arr = array(1,2,3,"one"=>4,5,6,7); foreach($arr as $value){ echo "{$value} "; } echo "<br>"; foreach($arr as $key => $value){ echo "{$key}=>{$value}<br>"; }
运行结果:
1 2 3 4 5 6 7 0=>1 1=>2 2=>3 one=>4 3=>5 4=>6 5=>7