1. 云栖社区>
  2. PHP教程>
  3. 正文

PHP中的list(),each(),reset()函数应用

作者:用户 来源:互联网 时间:2017-12-01 13:33:52

php应用list函数eachreset

PHP中的list(),each(),reset()函数应用 - 摘要: 本文讲的是PHP中的list(),each(),reset()函数应用, 1.list函数 list函数是把数组中的值赋给一些变量,语法如下: void list ( mixed $varname, mixed $varname... ) 像 array() 一样,这不是真正的函数,而是语言结构。list() 

1.list函数

list函数是把数组中的值赋给一些变量,语法如下:

void list ( mixed $varname, mixed $varname... )

像 array() 一样,这不是真正的函数,而是语言结构。list() 用一步操作给一组变量进行赋值。

  注意: list() 仅能用于数字索引的数组并假定数字索引从 0 开始。

<?php$arr=array(1,2,3);list($a,$b,$c)=$arr;echo "/$a是$a,<br/>/$b是$b,<br/>/$c是$c.<br/>";?>

显示为:

$a是1,
$b是2,
$c是3.  

   注意: list函数的下标必须是数字,还必须是从0开始的。

2.each函数与reset函数

each 函数是返回数组中当前的键/值对并将数组指针向前移动一步,注意是一对,下面详细说明。

该函数语法:

array each ( array &$array )

返回 array 数组中当前指针位置的键/值对并向前移动数组指针。

键值对被返回为四个单元的数组,键值为 0,1,key 和 value。单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。

如果内部指针越过了数组的末端,则 each() 返回 FALSE。这里面为什么each函数有四个下标呢?

其实each函数得到这四个下标只是方便我们操作而已,我们可以用0,1作为索引,也可以用key,value作为索引。

代码:

<?php$arr=array("我是第一个值","我是第二个值","我是第三个值");echo "当我们用0,1为索引时:<br/><br/>";$a=each($arr);echo "我在/$arr数组中的位置为:".$a['0'];echo "<br/>";echo "我在/$arr数组中的值为:".$a['1'];echo "<br/><br/>";echo "当我们用key,value为索引时:<br/><br/>";$b=each($arr);echo "我在/$arr数组中的位置为:".$b['key'];echo "<br/>";echo "     我在/$arr数组中的值为:".$b['value'];?>

显示为:

当我们用0,1为索引时:
我在$arr数组中的位置为:0
我在$arr数组中的值为:我是第一个值
当我们用key,value为索引时:
我在$arr数组中的位置为:1
我在$arr数组中的值为:我是第二个值

还可用each函数与list函数结合来遍历数组,如下例:

<?php$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');reset($fruit);while (list($key, $val) = each($fruit)) {      echo "$key => $val/n";}?>

显示为:

a => apple b => banana c => cranberry

注意list函数的下标必须是数字,还必须是从0开始的。

里面的reset函数解释:

在执行 each() 之后,数组指针将停留在数组中的下一个单元或者当碰到数组结尾时停留在最后一个单元。如果要再用 each 遍历数组,必须使用 reset()。 如果是第一次遍历数组可以不用。

详细说一下reset函数:

reset 是将数组的内部指针指向第一个单元,语法为:

mixed reset ( array &$array )

reset() 将 array 的内部指针倒回到第一个单元并返回第一个数组单元的值,如果数组为空则返回FALSE。

可以将上面的例2与下面的例子对比一下,就很容易明白了。。。

代码:

<?php$arr=array("我是第一个值","我是第二个值","我是第三个值");echo "当我们用0,1为索引时:<br/><br/>";$a=each($arr);echo "我在/$arr数组中的位置为:".$a['0'];echo "<br/>";echo "     我在/$arr数组中的值为:".$a['1'];echo "<br/><br/>";echo "当我们用key,value为索引时:<br/><br/>";reset($arr);$b=each($arr);echo "我在/$arr数组中的位置为:".$b['key'];echo "<br/>";echo "     我在/$arr数组中的值为:".$b['value'];?>

显示为:

当我们用0,1为索引时:

我在$arr数组中的位置为:0
我在$arr数组中的值为:我是第一个值

当我们用key,value为索引时:

我在$arr数组中的位置为:0
我在$arr数组中的值为:我是第个值        //注意与例2中的这一行对比。

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php , 应用 , list , 函数 , each reset ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备
阿里云双11活动