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条)

报告相同问题?

悬赏问题

  • ¥50 求解vmware的网络模式问题
  • ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳
  • ¥15 springboot 3.0 实现Security 6.x版本集成
  • ¥15 PHP-8.1 镜像无法用dockerfile里的CMD命令启动 只能进入容器启动,如何解决?(操作系统-ubuntu)
  • ¥30 请帮我解决一下下面六个代码
  • ¥15 关于资源监视工具的e-care有知道的嘛
  • ¥35 MIMO天线稀疏阵列排布问题
  • ¥60 用visual studio编写程序,利用间接平差求解水准网
  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?