php foreach 循环数组要点

数组元素是值的情况,foreach只是将数组的每个元素的值进行拷贝:

$arr = [1,3,5];

foreach ($arr as $v) {
    ++$v;
}

print_r($arr);

 

数组元素是对象的情况,foreach是将数组元素的对象引用进行拷贝:

$arr = [new stdClass(), new stdClass(), new stdClass()];

foreach ($arr as $v) {
    $v->rdn = rand(0,99);
}

print_r($arr);

 

那么,上面普通数组也可以拥有同样的效果:

$arr = [1,3,5];
 
foreach ($arr as &$v) {
    ++$v;
}
 
print_r($arr);

  

  

posted @ 2019-05-30 17:13  hailπ  阅读(401)  评论(0编辑  收藏  举报