优秀的编程知识分享平台

网站首页 > 技术文章 正文

PHP list()和each()函数使用(php list each)

nanyue 2025-03-30 19:24:50 技术文章 14 ℃

array each ( array &$array )

返回 array 数组中当前指针位置的键/值对并向前移动数组指针。键值对被返回为四个单元的数组,键名为 0, 1, key 和 value。

单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。

如果内部指针越过了数组的末端, 则 each() 返回 FALSE。

Array
{
[1] => bob
[value] => bob
[0] => 0
[key] => 0
}

注意: 【PHP】php7.2报错The each() function is deprecated. This message will be suppressed on furthe

php7.2以上 废除了 each()方法, 项目中用到的地方会出现以下报错

The each() function is deprecated. This message will be suppressed on further calls

解决办法。很简单

while (list($key, $val) = each($array)) {
#code
}

改为

foreach ($array as $key => $val) {
#code
}

list — 把数组中的值赋给一些变量

void list ( mixed $varname , mixed $... ) 仅能用于数字索引的数组并假定数字索引从 0 开始。

a. list()=array(); 需要将一个数组赋值给这个函数

b. 数组中的元素个数, 要和list()函数中的参数个数相同

c. 数组中的每个元素值会赋值list()函数中的每个参数, list()将每个参数转为变量

d. list()只能接收索引数组

e. 按索引的下标的顺序

实例1:

 2, 3 , 8=> 18, 2=>20 );
//注意上述数组的下标是0, 'ab', 1, 8, 2
list($v1, $v2, $v3 ) = $arr; //这里不是赋值语句,而是被称为"语法结构"
//以上一行相当于
//$v1 = $arr[0]; $v2=$arr[1];$v3=$arr[2];
echo("
v1=$v1 "); //v1=1 echo "
v2=$v2 "; //v2=3 echo "
v3=$v3 "; //v3=20 ?>

实例2:

输出结果:coffee is brown and caffeine makes it special. coffee has caffeine. I need brown

实例3:

1, "name"=>"zhangsan", "age"=>10, "sex"=>"nan");
while(list($key, $value)=each($user)){
echo $key."==>".$value."
"; } ?>
输出结果:id==>1
name==>zhangsan
age==>10
sex==>nan

Tags:

最近发表
标签列表