加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 嵌套到无限深度的多维数组

发布时间:2020-12-13 17:51:04 所属栏目:PHP教程 来源:网络整理
导读:我有一个多维数组嵌套到未知/无限深度. 我希望能够遍历每个元素. 我不想使用foreach(){foreach(){foreach(){}}}因为我不知道深度. 我最终会寻找所有名为“xyz”的嵌套数组.有没有人有任何建议? I’m eventually looking for all nested arrays called “xyz
我有一个多维数组嵌套到未知/无限深度.
我希望能够遍历每个元素.
我不想使用foreach(){foreach(){foreach(){}}}因为我不知道深度.

我最终会寻找所有名为“xyz”的嵌套数组.有没有人有任何建议?

I’m eventually looking for all nested arrays called “xyz”. Has anyone got any suggestions?

当然.基于使用一些迭代器的建议,您可以:

$iterator = new RecursiveIteratorIterator(
    new RecursiveArrayIterator($array),RecursiveIteratorIterator::SELF_FIRST
);
foreach ($iterator as $key => $item) {
    if (is_array($item) && $key === 'xyz') {
        echo "Found xyz: ";
        var_dump($item);
    }
}

其他答案之间的重要区别在于,在迭代时使用RecursiveIteratorIterator :: SELF_FIRST标志使非叶(即父)项(即数组)可见.

您还可以在数组迭代器周围使用ParentIterator,而不是检查循环内的数组,以使后者更整洁.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读