我正試圖動態生成多維數組,其中$key=>$value
對的$value
是另一個多維數組。鍵將通過選擇菜單動態生成(本身是動態生成的,所以我不知道鍵的名稱)。動態地將關聯多維數組添加到包含另一個關聯多維數組的數組中?
這是一個爲WordPress插件所以有下面的代碼一些WP功能:
$var1 = $_POST['var1'];
$var2 = $_POST['var2'];
if (get_option('option_name') != null) {
$option = get_option('option_name');
$option[$var2] = array('sync'=>1,'setting1'=>$var2,'setting2'=>$var1);
update_option('option_name', $option[$var2]);
} else {
$option = array();
$option[$var2] = array('sync'=>1,'setting1'=>$var2,'setting2'=>$var1);
update_option('option_name', $option[$var2]);
}
基本上,這個「別人」的一部分,這表明get_option(「OPTION_NAME」)爲空或不設置,工作很好,在update_option函數被調用後,我得到:
Array
(
[firstvar2] => Array
(
[sync] => 1
[setting1] => firstvar2
[setting2] => firstvar1
)
)
這正是我想要的。我遇到的問題是在第一個已經存在的時候添加一個附加的關聯數組。在「如果」條件的一部分,給我這個:
Array
(
[sync] => 1
[setting1] => firstvar2 //(from the first run)
[setting2] => firstvar1 //(from the first run)
[secondvar2] => Array //(from the second run)
(
[sync] => 1
[setting1] => secondvar2 //(from the second run)
[setting2] => secondvar1 //(from the second run)
)
)
我怎樣才能得到這個代替?:
Array
(
[firstvar2] => Array //first run
(
[sync] => 1 //first run
[setting1] => firstvar2 //first run
[setting2] => firstvar1 //first run
)
[secondvar2] => Array //second run
(
[sync] => 1 //second run
[setting1] => secondvar2 //second run
[setting2] => secondvar1 //second run
)
)
你不能因爲你不能有2個相同的鍵值具有相同的值。它沒有認識 – RiggsFolly
他們沒有相同的價值。我只是用作佔位符。它的$ _POST變量是什麼。我將編輯它,使其更容易混淆 –
什麼是'update_option()'? – AbraCadaver