首页> 基础笔记 >PHP基础学习 >基础语法 基础语法

PHP联合使用list( )、each( )和while循环遍历数组

作者:小萝卜 2019-08-16 浏览 1261

简介PHP联合使用list( )、each( )和while循环遍历数组

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( )。
 
//数组的第三种遍历:联合list each while reset遍历数组(半自动)

$stu = array("name"=>"zhangsan","sex"=>"man","age"=>30);

/*
each($stu);
$a = each($stu);//获取数组当前位置上的键和值并以关联加索引两种方式返回,并且数组指针向后移动一位。

echo "< pre>";
print_r($a);
*/

while($a = each($stu)){
    echo $a[0]."=>".$a[1]."< br/>";
}
echo "< hr/>";

reset($stu); //将数组指针移至首位
while($a = each($stu)){
    echo $a['key']."=>".$a['value']."< br/>";
}


echo "< hr/>";

reset($stu); //将数组指针移至首位
while(list($k,$v) = each($stu)){
    echo $k."=>".$v."< br/>";
}

echo "< hr/>";



//list可以将数组中的值快速赋给变量
list($x1,$x2,$x3,$x4)=array(10,20,30,40);
echo $x1;
echo $x2;
echo $x3;
echo $x4;

很赞哦! (0)

文章评论

    高端网站建设