簡體   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