【问题标题】:PHP manipulating multidimensional array values by keyPHP按键操作多维数组值
【发布时间】:2013-07-02 07:34:49
【问题描述】:

我尝试了以下方法:

$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')))
  }
});

但是 echo $key.', ';只返回最后一个键(“page”) 是我做错了什么还是我误解了函数“array_walk_recursive”

【问题讨论】:

    标签: php arrays multidimensional-array


    【解决方案1】:

    如果您查看第一条评论 at the documentation,您会发现它不像您预期​​的那样工作:

    • 此函数仅访问叶节点 *

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

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

    【讨论】:

    • 我正要引用完全相同的话:p +1
    猜你喜欢
    • 1970-01-01
    • 2016-02-09
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多