foreach的使用:
1.用法1
2.用法2
130,'math'=>140,'english'=>135,'computer'=>130);
foreach($arr as $key=>$value)
echo $key.':'.$value.'
';
?>
3.按拷贝还是引用
默认按拷贝,和函数很相似:
1 [1] => 2 [2] => 3 [3] => 4 )
?>
但是可以改成引用方式,通过&符号:
2 [1] => 4 [2] => 6 [3] => 8 )
?>4.for循环
5.each/list
each用法,每次取出个4元素数组,其中0,key对应键;1,value对应值:
张三 [value] => 张三 [0] => 0 [key] => 0 )
?>
list的用法:
王五 [1] => 李四 [0] => 张三 )
?>
list结合each使用:
20, 李四=>29, 王五=>23);
while(list($key, $value) = each($arr))
echo $key=>$value.'
';
?>
注意while(list($key, $value) = each($arr))中each得到的4元素数组中有2个数字索引分别赋给list中2个变量。
所以
李四, 王五);
list($a[0], $a[1]) = $arr;
print_r($a);//array ( [1] => 王五 [0] => 张三 )
?>
6.多维数组
$v1) {
echo $key1.'
';
foreach ($v1 as $v2) {
echo $v2 \n;
}
echo '
';
}
?>
7.数组函数
key取键值
'济南',
'李四' => '烟台',
'王五' => '威海',
'赵六' => '北京',
);
while ($person = current($arr)) {
if ($person == '威海') {
echo key($arr).'
';
}
next($arr);
}
?> 上面会得到 '王五',但是如果烟台为 空串,则程序执行到这里会跳出循环,空串转成false。
用for实现foreach效果:
'http://www.baidu.com',
'谷歌' => 'http://www.google.com.hk',
'400电话' => 'http://www.my400800.cn',
'bing' => 'http://cn.bing.com',
);
for(reset($arr);$key=key($arr);next($arr))
echo $key.'
';
?>
这个问题同上,如果某个键值计算为false也会跳出循环。
