如果我有以下數組。將$myArray[]
的最後一個元素添加到list[]
的最佳方式是什麼?請注意,list[]
有數字索引(即不關聯)。謝謝!將元素添加到數組的最後一個元素
$myArray[] = array('name' => 'hello', 'list' => array());
如果我有以下數組。將$myArray[]
的最後一個元素添加到list[]
的最佳方式是什麼?請注意,list[]
有數字索引(即不關聯)。謝謝!將元素添加到數組的最後一個元素
$myArray[] = array('name' => 'hello', 'list' => array());
如果$ myArray的不關聯
array_push($myArray[count($myArray)-1]['list'], 'new element');
或
$myArray[count($myArray)-1]['list'][] = 'new element';
用這種方法你改變了數組指針的位置。
是的,這可能會起作用。不知道是否有一個更清潔的解決方案,使用end() – user1032531
當你使用結束時,你得到的是最後一個值的副本,而不是引用。所以如果你改變它的值不影響數組。如果您使用'end',您必須先調用它,然後使用'key'獲取最後一個元素的關鍵字,然後可以修改該數組。如果'$ myArray'不是關聯的,你可能想這樣做。 – clentfort
謝謝!!!!!!!!!! – user1032531
你可以這樣說:
$last = array_pop($myArray); // remove last element of array
$last['list'][] = "new element"; // add element to array
$myArray[] = $last; // add changed last element again
看起來像這樣也可以。謝謝 – user1032531
array_push
功能做到這一點。
array_push()
在[PHP手冊](http://php.net/manual/en/function.array-push.php)之後,它和'$ array [] = $ var;'具有相同的效果他的代碼已經。所以我不認爲他在尋找這個。 – noob
$myArray[count($myArray)-1]['list'][]="something to go in 'list' array";//this shall append
//to the second dimension array with keyname 'list'
而不是$ myArray [0],它需要指向$ myArray的最後一個元素,而不是0. – user1032531
啊,我的不好。檢查我的編輯。 – 2012-06-02 16:14:56
Gotcha。與clenfort相同的解決方案。謝謝! – user1032531
其實還有一個更華麗的方式(在我看來):
$ref = &$myArray[];
$ref['list'][] = 'new item'
正如你可以看到$ REF - 爲參考$ myArray的最後一個元素,所以你可以改變過去的元素通過改變$ ref;
你的問題有點不清楚。你能發表一個你的結果應該是什麼樣子的例子嗎? –