list定义和用法:
list() 函数用于在一次操作中给一组变量赋值。
注释:该函数只用于数字索引的数组,且假定数字索引从 0 开始。
暗栗:
<?php
$my_array = array("hello","world");
list($a, $b) = $my_array;
echo "{$a} {$b}";//hello world
?>
(1).只用于数字索引的数组
<?php
$my_array = array('name'=>'hello','desc'=>'world',12,13);
list($a, $b) = $my_array;
echo "{$a} {$b}";//12 13
注释:只输出12 13 不是数字索引的数组 不可以 如果是list($a, $b) = array('name'=>'hello','desc'=>'world');会报错
(2).数字索引从 0 开始
<?php
$my_array = array('1'=>'hello','2'=>'world','4'=>'china');
list($a,,$c) = $my_array;
echo "{$a} {$c}";
输出:
world
PHP Notice: Undefined offset: 0 in /usercode/file.php on line 58
注释:按照排序$a=$my_array[0] $c=$my_array[2] 数组为0的下标不存在,中间空置没有定义变量,对应下标为1,为2的是world
each定义和使用方法:
each() 函数返回当前元素的键名和键值,并将内部指针向前移动。
该元素的键名和键值会被返回带有四个元素的数组中。两个元素(1 和 Value)包含键值,两个元素(0 和 Key)包含键名。
暗栗:
<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
输出:
Array
(
[1] => bob
[value] => bob
[0] => 0
[key] => 0
)
?>
each和list暗栗:
<?php
$people = array("Bill", "Steve", "Mark", "David");
reset($people);
while (list($key, $val) = each($people))
{
echo "$key => $val<br>";
}
输出结果:
0 => Bill
1 => Steve
2 => Mark
3 => David
?>
注释:reset:将 array
的内部指针倒回到第一个单元并返回第一个数组单元的值。