【问题标题】:Reference in the foreach参考foreach
【发布时间】:2012-03-01 01:50:50
【问题描述】:

在 foreach 中有引用,这是什么意思,有什么好处?

例如:

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

当我在 PHP 中进行一些编码时,我从不真正使用引用。

【问题讨论】:

  • 请看一下手册,它解释了 foreach 引用的(以及第二个)使用。手册中还解释了一般参考(变量别名):References Explained
  • 好像不看说明书还不够糟糕,你甚至没有bother to search SO

标签: php loops foreach pass-by-reference


【解决方案1】:

如果您不通过引用传递到 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');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-24
    • 2022-08-13
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多