2017-07-19 179 views
1

我需要添加一個數組內使用array_push或類似的東西。PHP array_push一個陣列到另一個

我想實現看起來就像這樣:

$years = array(
    "2017" => array("Value01", "Value02"), 
    "2016" => array("Value03") 
); 

什麼是建立在另一個數組的最佳方式?我曾嘗試以下:

array_push($years, "2016" => array()); 

這只是給出了一個

500錯誤。

和:

array_push($years, "2016"); 

這確實增加了$ yearshowever內一個新的數組它被稱爲 「2018」 和 「2016」 的值是2018數組內的地方。我已經手動創建了2017年的數組,所以我認爲它只是出於某種原因在該數字上增加。

+3

您可以通過鍵設置嵌套數組:'$ years [2016] = ['value 1','value 2','value 3'];' –

+0

不需要'array_push',只需寫'$年[「2016」] = $ array;' –

+1

閱讀[PHP數組](http://php.net/manual/en/language.types.array.php)。您的問題的答案在[「使用方括號語法訪問數組元素」一節](http://php.net/manual/en/language.types.array.php#language.types.array.syntax.accessing )。 – axiac

回答

2

正確的方式做array_push(): -

array_push($years, array("2016" => array())); 

但你想要的東西,對於那些: -

$years["2016"]= array(); 

輸出: - https://eval.in/834452

0

沒有推:

<?php 

$years = []; 

$years[][] = 'value1'; 
$years[][] = 'value2'; 

var_dump($years); 
?> 

或者:

$years['someKey'] = [value1, value2 ....] 
0
在這種情況下,你不需要使用array_push 有這樣做的方法很多,比如

$years["whatever the key"]= array("whatever the value"); 

結果將是這樣的:

$years = array(
"2017" => array("Value01", "Value02"), 
"whatever the key" => array("whatever the value"));