PHP中的list()和each() 对于数组的遍历

本文深入探讨PHP中list和each函数的使用方法与特性,包括它们如何处理数组,以及如何利用这两个函数来实现foreach的功能。list适用于数字索引数组,而each则返回并移动数组指针。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

php

list():

不是真正的函数,而是语言结构。list()函数仅能用于数字索引的数组,而且数字索引由0开始。
ex:

$array=array("asp","php","jsp");
list($a,$b)=$array;//"asp"和"php"赋值给了$a and $b

而且不能用于关联数组,若关联数组中也有数字索引,只数组里的数字索引的元素。

each():
返回数组中当前的键/值对并将数组指针向前移动一步

在执行 each() 之后,数组指针将停留在数组中的下一个单元或者当碰到数组结尾时停留在最后一个单元。

ex:

<?php
$people = array("Peter", "Joe", "Glenn", "Cleveland");
print_r (each($people));
?>

运行:

Array ( [1] => Peter [value] => Peter [0] => 0 [key] => 0 )

可以知道,再进行一次each()
就指向第二个Joe

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

其实就是第n次再用each()函数,会返回数组的第n个元素的键值对(被返回为四个单元的数组),如果内部指针越过了数组的末端,则 each() 返回 FALSE。

用list()和 each()实现foreach()

<?php
$people = array("Peter", "Joe", "Glenn", "Cleveland");
 
reset($people);
 
while (list($key, $val) = each($people))
{
    echo "$key => $val<br>";
}
?>

运行结果:

0 => Peter
1 => Joe
2 => Glenn
3 => Cleveland
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值