2013-11-15 73 views
0

我有一個非常複雜的多維數組($ tree)。我收到這個大數組作爲參考。PHP:通過索引查找,存儲地址數組鍵,

現在,我需要找到一個特定的鍵,並在那裏插入數據。

找到所需的密鑰很容易。函數搜索數組並返回路徑$ path。例如,它返回$path = array('index1', 'index2', 'index3')。這意味着,我需要分配我的數據,如$tree['index1']['index2']['index3'] = $some_data_i_needed_to_insert

現在問題出現了,我無法解決從seatch函數接收到的地址的數組索引。

我想是這樣的:

<?php 
$path = '[\'index1\'][\'index2\'][\'index3\']'; 
$tree{$path} = $some_data_i_needed_to_insert; 
?> 

有沒有辦法解決我的情況數組索引?

+0

目前還不清楚你在問什麼。 –

+0

我們可以看到第一個功能嗎?這可能有助於澄清問題所在。 – jameslafferty

+0

你爲什麼要做'$ tree {'[1334] [\'#below \'] [3242]'}'? –

回答

2

如果您有一個路徑數組,您可以使用直接訪問鍵的方式沒有任何理智的直接表達式。然而,這會做:

$path = array('1334', '#below', '3242'); 
$node =& $complexArray; 

foreach ($path as $key) { 
    $node =& $node[$key]; 
} 

$node = $data; 
+0

你真棒。 –