2012-02-08 59 views
0

有在foreach參考,這是什麼意思,什麼好處?參考在foreach

例如:

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

我從來沒有真正使用的參考,當我做了一些用PHP編碼。

+4

請把手冊一看,它解釋說,(和第二)使用引用與['foreach'(http://php.net/foreach)。此外,在一般的(變量別名)引用手冊中解釋,以及:[引用的解釋](http://php.net/manual/en/language.references.php) – hakre 2012-02-08 15:43:29

+0

正如如果不閱讀手冊是不壞夠了,你甚至沒有[懶得去搜索SO(http://stackoverflow.com/search?q=%5Bphp%5D+foreach+reference&submit=search) – Leigh 2012-02-08 15:51:29

回答

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'); 
+0

很好解釋!謝謝! – 2012-02-08 15:49:05