PHP按键操作多维数组值

时间:2013-07-04 10:24:03

标签: php arrays multidimensional-array

我尝试了以下内容:

$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。',';只返回最后一个键(“页面”) 我做错了什么或者我误解了函数“array_walk_recursive”

1 个答案:

答案 0 :(得分:2)

如果您查看第一条评论at the documentation,您会发现它无法按预期运作:

  
      
  • 这个功能只能参加LEAF NODES *
  •   
     

也就是说,如果你有一个包含子数组的数组树   子数组,只有树的叶子上的普通值   由回调函数访问。回调函数永远不会   要求树中的子节点(即子阵列)中的节点。这个   具有使大多数实用无法使用此功能的效果   的情况。

如果您想检查数组中是否存在某个键,您可能需要查看this solutions