有許多使用點符號訪問PHP數組的提示和代碼示例,但是我想做一些相反的事情。我想借一個多維數組是這樣的:PHP - 使用點符號鍵將多維數組轉換爲二維數組
$myArray = array(
'key1' => 'value1',
'key2' => array(
'subkey' => 'subkeyval'
),
'key3' => 'value3',
'key4' => array(
'subkey4' => array(
'subsubkey4' => 'subsubkeyval4',
'subsubkey5' => 'subsubkeyval5',
),
'subkey5' => 'subkeyval5'
)
);
,把它變成這個(可能通過一些遞歸函數):
$newArray = array(
'key1' => 'value1',
'key2.subkey' => 'subkeyval',
'key3' => 'value3',
'key4.subkey4.subsubkey4' => 'subsubkeyval4',
'key4.subkey5.subsubkey5' => 'subsubkeyval5',
'key4.subkey5' => 'subkeyval5'
);
我想array_walk_recursive也許能幫助我建立新的鑰匙,因爲它似乎是它可以做很多繁重的遞歸的,但它不提供*的所有*鍵陣列。例如,在$ myArray上使用array_walk_recursive(通過PHP文檔頁面上的示例函數運行)只會向我提供沒有數組值的鍵。我正在繼續嘗試使用一些很好的舊foreach循環來編寫我自己的遞歸函數,但這是漫長的一天,正在傷害我的頭。我會繼續努力,如果我得到它(或更接近) – TheCheese