2013-11-15 35 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

你真棒。 –