鍍金池/ 問答/PHP/ 如何獲得多維數(shù)組某一列的值?

如何獲得多維數(shù)組某一列的值?

[
    "id" => 7
    "parent_id" => 9
    "child_id" => 11
    "children" => [
      0 =>  [
        "id" => 4,
        "parent_id" => 11,
        "child_id" => 2
      ]
      1 =>  [
        "id" => 5,
        "parent_id" => 11,
        "child_id" => 3
      ]
      2 =>  [
        "id" => 6,
        "parent_id" => 11,
        "child_id" => 4
      ]
    ]
  ]
  1 =>  [
    "id" => 8,
    "parent_id" => 10,
    "child_id" => 11
    "children" => [
      0 =>  [
        "id" => 4,
        "parent_id" => 11,
        "child_id" => 2
      ]
      1 =>  [
        "id" => 5,
        "parent_id" => 11,
        "child_id" => 3
      ]
      2 =>  [
        "id" => 6,
        "parent_id" => 11,
        "child_id" => 4
      ]
    ]
  ]

生成規(guī)則如下
每個對象 parent_id->child_id->children下的child_id為一個數(shù)組
上面生成結(jié)果為

[[9,11,2,3,4],[10,11,2,3,4]]
回答
編輯回答
悶油瓶
$arr = [
  [
    "id" => 7,
    "parent_id" => 9,
    "child_id" => 11,
    "children" => [
      [
        "id" => 4,
        "parent_id" => 11,
        "child_id" => 2
      ],
      [
        "id" => 5,
        "parent_id" => 11,
        "child_id" => 3]
      ,
      [
        "id" => 6,
        "parent_id" => 11,
        "child_id" => 4
      ]
    ]
  ],
  [
    "id" => 8,
    "parent_id" => 10,
    "child_id" => 11,
    "children" => [
      [
        "id" => 4,
        "parent_id" => 11,
        "child_id" => 2
      ], [
        "id" => 5,
        "parent_id" => 11,
        "child_id" => 3
      ], [
        "id" => 6,
        "parent_id" => 11,
        "child_id" => 4
      ]
    ]
  ]
];

$result = array_map(function ($item) {
  return array_merge([$item['parent_id'], $item['child_id']], array_map(function ($item) {
    return $item['child_id'];
  }, $item['children']));
}, $arr);

print_r($result);
2017年7月11日 23:43