标签:
数组:
定义: PHP 中的 数组 实际上是一个有序映射.映射是一种把values关联到keys的类型.在数组中长度不固定,切能够是任何数据类型. 出于这个原因, 数组有两种类型: 索引数组和关联数组.
索引数组: 数组中的keys值是integer,即从0开始到(length-1); 可以通过索引直接访问数组中的values;
关联数组:keys的数据类型是string类型, 也可以通过索引直接访问,只是不能应用到类似于for循环这样的遍历数组之中.
定义语法:
1 $arr_1=array( keys1 => values1,keys2 => values2 2 //, ...关联数组 3 ); 4 $arr_2=array( values1,values2 5 // .....索引数组 6 ); 7 // 键(key)可是是一个整数 integer 或字符串 string 8 // 值(value)可以是任意类型的值
遍历数组:
1.for循环:由于用到整型才能执行for循环,所以for循环只能用到索引数组中.
语法:
1 for($i=0;$i<count($arr);$i++){};
2.foreach:遍历数组,可以遍历任何类型的数组,最为常用的一种.
1 foreach($arr as $values){ //对值操作 2 echo $values." "; 3 }; 4 echo "<br/>"; 5 foreach($arr as $key => $values){ //操作keys和values 6 echo $key."=>".$values." "; 7 }; 8 /* 9 结果: 10 1 2 3 4 aa 11 0=>1 1=>2 2=>3 3=>4 4=>aa 12 13 */
3.each()和list():
each():返回数组中当前的键/值对并将数组指针向前移动一步, 在执行 each() 之后,数组指针将停留在数组中的下一个单元或者当碰到数组结尾时停留在最后一个单元。返回一个数组,包括当前指针下的数组元素的keys和values;
1 $arr=array(1,2,3,4,"aa"); 2 print_r($arr); 3 echo "<br/>"; 4 $arr1=array("one"=>10,"two"=>20,"three"=>"aa"); 5 print_r($arr1); 6 echo "<br/>"; 7 $arr2=each($arr); 8 print_r($arr2); 9 echo "<br/>"; 10 //执行了3次; 11 $arr3=each($arr1); 12 print_r($arr3); 13 echo "<br/>"; 14 $arr3=each($arr1); 15 print_r($arr3); 16 echo "<br/>"; 17 $arr3=each($arr1); 18 print_r($arr3);
结果:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => aa )
Array ( [one] => 10 [two] => 20 [three] => aa )
Array ( [1] => 1 [value] => 1 [0] => 0 [key] => 0 )
Array ( [1] => 10 [value] => 10 [0] => one [key] => one ) //指针向前移动了
Array ( [1] => 20 [value] => 20 [0] => two [key] => two )
Array ( [1] => aa [value] => aa [0] => three [key] => three )
list():把数组中的值赋给一些变量 ,像 array() 一样,这不是真正的函数,而是语言结构。 list() 用一步操作给一组变量进行赋值。
1 $arr=array(1,2,3,4,"aa"); 2 print_r($arr); 3 echo "<br/>"; 4 $arr1=array("one"=>10,"2"=>20,"three"=>"aa"); 5 print_r($arr1); 6 list($first,$second,$three)=$arr; 7 echo "<br>"; 8 echo $first." ".$second." ".$three; 9 list($first,$second,$three)=$arr1; 10 echo "<br>"; 11 echo $first." ".$second." ".$three;//对key不是整数的赋值 12 echo "<br/>"; 13 list(,,$three)=$arr;//可以跳过输入,不能不写,用,隔开 14 echo $three;
运行的结果:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => aa )
Array ( [one] => 10 [2] => 20 [three] => aa )
1 2 3
20
3
标签:
原文地址:http://www.cnblogs.com/zhengfengyun/p/5297538.html