php each(,PHP 的 foreach 和 each

PHP 在循环数组的时候有个挺有意思的写法:foreach (array_expression as $value)

statement

foreach (array_expression as $key => $value)

statement

第一种写法是循环的时候只赋 value 值,第二种写法是循环的时候赋 key 和 value 值。

先看看 foreach 第一种<?php

$arr = array(1, 2, 3);

foreach ($arr as &$value) {

$value = $value * 2;

}

print_r($arr);

?>

结果为:Array ( [0] => 2 [1] => 4 [2] => 6 )

特别注意,由于 $value 前面加了一个 &,表示是引用,所以 $arr 中的值会变,否则的话,只是 $value 这个局部变量变,$arr 不会变。

再看看 foreach 第二种<?php

$arr = array(

'jack' => 80,

'lucy' => 90,

'lily' => 85

);

foreach ($arr as $key => $value) {

print($key."-".$value."
");

}

?>

结果如下:

jack-80

lucy-90

lily-85

要说明的是 $key、$value 并不是固定命名,我们可以换成其他名称,比如:$name、$score。

接下来谈谈 each,给个官方示例吧<?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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值