drzil26260 2012-07-03 23:08
浏览 80
已采纳

访问多维数组中的任意深度键

If I have an array that contains ['key1', 'key2', 'key3'] is there any way to map this to an array $array['key1']['key2']['key3'] without using loops or eval()?

Example of an array:

$var = [
    'key1' => [
        'subkey1' => [
            'finalkey' => 'value',
        ],
        'subkey' => [
            'otherkey' => 'value',
        ],
    ],
    'key2' => 'blah'
];

And then I have an array like this:

$keys = ['key1', 'subkey1', 'finalkey'] 

or

$keys = ['key1', 'subkey']
  • 写回答

3条回答 默认 最新

  • doutuoshou8915 2012-07-03 23:17
    关注
    function array_find($needle, &$haystack)
    {
        $current = array_shift($needle);
        if(!isset($haystack[$current]))
        {
            return null;
        }
        if(!is_array($haystack[$current]))
        {
            return $haystack[$current];
        }
        return array_find($needle, $haystack[$current]);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题