PHP强大的数组
这段时间偷懒放松去老~啊哦~来回忆下关于数组在PHP中的使用。C语言或者C++一类语言,数组虽然很强大,但指针却是个老大难问题。而在PHP中基本不存在这种情况,数组可以理解为一个有向图,初学者能较短时间理解并运用它(我也是初学者~)。
PHP中数组分为两种,一是索引数组,二是关联数组。数组形式均为array(key1=>value1,key2=>value2,·····)key称为键值,value则是数组元素。索引数组就是键值为整数值,而关联数组则为字符串,这就是两者不同之处。只需记住若是任意某一数组元素的键值为字符串,则该数组为关联数组。在PHP中多维数组中二维常见,其他维数类比即可。
二维数组的数组元素仍为数组
array(key1=>array1(key1=>value1,),key2=>array2(key2=>value2),·····)
关于数组的输出,全部输出可以用Var_dump(),也可以用for或者foreach循环。不过需要注意前者只能用于索引数组,而后者则不存在这种情况。for的使用同C,而foreach可以说说。
一种是输出数组元素:
foreach (array() as $value) { echo $value; echo "<br/>"; }
另一种则是输出键值和数组元素:
foreach ( array() as $key=>$value) { echo $key."=>".$value."<br/>"; }
关于foreah的实例:
<?php $arr=array(1, 3, "for"=>4, 5, 6, 7, 8,9,10=>"aa", "bb", "cc"); /*for($i=0; $i<count($arr); $i++){ echo "$arr[".$i."]=".$arr[$i]."<br>"; }*/ /*当 foreach 开始执行时,数组内部的指针会自动指向第一个单元。 此外注意foreach 所操作的是指定数组的一个拷贝,而不是该数组本身*/ /* foreach ($arr as $value) { var_dump ($value); echo "<hr/>" ;*/ foreach ($arr as $key =>$value) { echo $key."=>".$value; echo "<hr/>" ; } ?>
我们还可以用list()和each()对数组进行遍历。
<?php /**********************************************************************/ /*****array each ( array array)******/ /*****返回 array 数组中当前指针位置的键/值对并向前移动数组指针。******/ /*****键值对被返回为四个单元的数组,键名为 0,1,key 和 value。 /*****单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。******/ /*****如果内部指针越过了数组的末端,则 each() 返回 FALSE。 ******/ /*****each() 经常和list( ) 结合使用来遍历数组。******/ /*****void list ( mixed ...)******/ /*****它不是真正的函数,而是语言结构。list() 用一步操作给一组变量进行赋值。******/ /***** 注: list() 仅能用于数字索引的数组并假定数字索引从0开始。******/ /*****在执行 each() 之后,数组指针将停留在数组中的下一个单元或者当碰到数组******/ /*****结尾时停留在最后一个单元。如果要再用 each 遍历数组,必须使用reset( )。******/ /*****************************************************************/ $fruit = array("a"=>"apple","b"=>"banana","c"=>"cranberry"); reset($fruit);//reset() 函数把数组的内部指针指向第一个元素,并返回这个元素的值。若失败,则返回 FALSE。 while(list($a,$b)=each($fruit)) { echo "$a => $b "; } ?> <?php $fruit = array("a"=>"apple","b"=>"banana","c"=>"cranberry"); reset($fruit);//reset() 函数把数组的内部指针指向第一个元素,并返回这个元素的值。若失败,则返回 FALSE。 while($temp=each($fruit)) { //echo $temp[0]."===>".$temp[1]."<br>"; echo $temp["key"]."===>".$temp["value"]."<br>"; } echo "<hr/>"; ?>
懒得写了。就附加源代码,希望对大家有点参考。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 五十款阿里开源软件说明介绍
- 下一篇: 阿里开源了14个核心技术,你了解哪些?