2013-03-16 68 views
0

你好,我正在尋找最佳做法,推出一個額外的領域與PHP陣列。 我試過array_push和它的等效$ array [] = $ var;但它不是我想要得到的。如何將其他字段推入到PHP中的數組?

我有一個循環,像這樣:

foreach($lakesNearby as $lakes){ 
     $dist = $this->getDistance($lat, $lng, $lakes['latitude'], $lakes['longitude'], $unit); 
     $lakes['distance'] = $dist; 
     $lakesReturned[] = $lakes; 
    } 

但我敢肯定有一個更好的方式來最後兩行合併它推到$ lakesNearby?

回答

0

亞歷克斯在評論說:「爲了能夠直接修改環路中的數組元素與&回答這個問題之前$值。在這種情況下,該值將通過參考分配。

<?php 
$arr = array(1, 2, 3, 4); 
foreach ($arr as &$value) { 
    $value = $value * 2; 
} 
// $arr is now array(2, 4, 6, 8) 
unset($value); // break the reference with the last element 
?> 
2

嗯...,也許是:

foreach($lakesNearby as &$lakes){ 
    $lakes['distance'] = $this->getDistance($lat, $lng, $lakes['latitude'], $lakes['longitude'], $unit); 
} 

的所有數據將在$ lakesNearby數組,你不需要另一個數組。

只是爲了保持完整性,見php.net/manual/de/control-structures.foreach.php:

+2

+1。 只是爲了保持完整性,見http://php.net/manual/de/control- structures.foreach.php: 「爲了能夠直接修改循環內的數組元素,使用&前面的$ value。在這種情況下,價值將通過參考分配。「 – 2013-03-16 14:06:41

相關問題