PHP强大的数组

来源:互联网 发布:java互联网必读 编辑:程序博客网 时间:2024/06/05 00:19

 这段时间偷懒放松去老~啊哦~来回忆下关于数组在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\n";}?><?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/>';?>

懒得写了。就附加源代码,希望对大家有点参考。

0 0
原创粉丝点击