参考foreach

时间:2012-02-08 15:41:05

标签: php loops foreach pass-by-reference

在foreach中有参考,它意味着什么,有什么好处?

例如:

foreach ($delivery as &$store) {
            $store = ClassName::FunctionName($store);
} 
unset($store);

当我在PHP中进行编码时,我从未真正使用过引用。

1 个答案:

答案 0 :(得分:3)

如果未通过引用传递给foreach循环,则在循环完成后,任何更改和更新都不会自动保留在初始数据结构中。

例如:

$test = array('cat'=>'meow','dog'=>'woof');

foreach($test as $a){
    $a='test';
}
print_r($test);

在这种情况下,数组仍将包含:

array('cat'=>'meow','dog'=>'woof');

但是在本例中使用引用:

$test=array('cat'=>'meow','dog'=>'woof');

foreach($test as &$a){
    $a='test';
}
var_dump($test);

......数组将包含:

array('cat'=>'test','dog'=>'test');