繁体   English   中英

PHP按键操作多维数组值

[英]PHP manipulating multidimensional array values by key

我尝试过以下方法:

$tree['uid1']['page'] = "page1";
$tree['uid1']['childs']['uid2']['page'] = "page2";
$tree['uid1']['childs']['uid3']['page'] = "page3";

array_walk_recursive($tree, function (&$item, $key) {
  echo $key.', ';
  if ($key == 'uid3') {
    // push array('childs' => array('uid4' => array('page' => 'page4')))
  }
});

但回声$ key。','; 只返回我的最后一个键(“page”)我做错了什么或者我误解了函数“array_walk_recursive”

如果您查看文档中的第一条评论您会发现它不能按预期工作:

  • 这个功能只能参观叶子节点*

也就是说,如果你有一个带有子数组子数组的数组树,那么回调函数只会访问树叶子上的普通值。 不会为树中的子节点(即子阵列)中的节点调用回调函数。 这具有使该功能在大多数实际情况下不可用的效果。

如果要检查阵列中是否存在密钥,您可能需要查看此解决方案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM