【问题标题】:PHP: Find, store, address array key by indexPHP:按索引查找,存储,地址数组键
【发布时间】:2013-11-15 15:34:18
【问题描述】:

我有一个非常复杂的多维数组 ($tree)。我收到那个大数组作为参考。

现在,我需要在其中找到某个键​​并在其中插入数据。

找到所需的密钥很容易。函数搜索数组并返回路径 $path。例如,它返回$path = array('index1', 'index2', 'index3')。这意味着,我需要分配像$tree['index1']['index2']['index3'] = $some_data_i_needed_to_insert 这样的数据。

现在问题出现了,我无法从我从 seach 函数收到的地址中处理该数组索引。

我试过这样:

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

在我的情况下,有没有办法解决数组索引?

【问题讨论】:

  • 不清楚你在问什么。
  • 我们能看到第一个函数吗?这可能有助于澄清问题所在。
  • 你为什么要$tree{'[1334][\'#below\'][3242]'}
  • 更新了问题。抱歉不清楚。

标签: php arrays indexing


【解决方案1】:

如果您有路径数组,则没有可用于直接访问键的合理直接表达式。但是,这样做可以:

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

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

$node = $data;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-27
    • 2017-02-24
    • 1970-01-01
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多