所有元素的路徑和值考慮任意形式和嵌套深度的關聯數組,例如:獲取嵌套關聯數組
$someVar = array(
'name' => 'Dotan',
'age' => 35,
'children' => array(
0 => array(
'name' => 'Meirav',
'age' => 6,
),
1 => array(
'name' => 'Maayan',
'age' => 4,
)
),
'dogs' => array('Gili', 'Gipsy')
);
我想將此轉換爲的路徑和值關聯數組:
$someVar = array(
'name' => 'Dotan',
'age' => 35,
'children/0/name' => 'Meirav',
'children/0/age' => 6,
'children/1/name' => 'Maayan',
'children/1/age' => 4,
'dogs/0' => 'Gili',
'dogs/1' => 'Gipsy'
);
我開始寫一個遞歸函數這對於陣列元件將遞歸和非陣列元件(INT,浮點數,布爾變量,和字符串)返回一個數組$return['path']
和$return['value']
。這很快就馬虎! 有沒有更好的方式在PHP中做到這一點?我會假設可數組和對象不會被傳入數組,儘管任何處理這種可能性的解決方案都是最好的。另外,我假定輸入數組在元素名稱中不會有/
字符,但考慮到這可能是謹慎的! 請注意,輸入數組可以嵌套深達8層或更深層!
遞歸函數最適合您的方案。 – kcsoft