2012-11-14 118 views
1
<?php 
$array = array(array(1,2,3), array(4,2,5), array(5,25,2)); 
foreach($array as $ar){ 
    $ar['test'] = 'test'; 
} 
print_r($array); 

http://codepad.org/FclkyyFa添加值多陣列

爲什麼這不工作?我想要使​​用foreach併爲每個子數組添加測試值。 我該怎麼做?

+0

你嘗試設置與鍵'$的AR值'test'' ..我沒有看到數組值? – George

+0

$ array ['test'] ='test'; [http://codepad.org/Oa8eoiBw –

+2

使用'foreach($ array作爲&$ ar){'。否則,你將'test'添加到內部數組的副本中,該副本在迭代之外被丟棄一次。 – air4x

回答

0

來自@ air4X的評論是正確的。使用&創建實際的數組的引用,然後設置類似的值:

foreach($array as &$ar) { 
    // if you want to create an associative element called 'test'   
    $ar['test'] = 'test'; 
    // if you simply want to add the value 'test' to each array 
    $ar[] = 'test'; 
} 
0

您需要將其分配給array('test' => 'test')