我正在尝试解析一个像这样的多维数组: 例如,我想提取 NAME => Ma,的所有子代的名字,以及它们的所有子代的名字。
Array
(
[0] => Array
(
[ID] => 35
[Name] => Ma
[Note] =>
[parent_id] => 0
[children] => Array
(
[0] => Array
(
[ID] => 55
[Name] => OS
[Note] =>
[parent_id] => 35
[children] => Array
(
[0] => Array
(
[ID] => 416
[Name] => fs
[Note] =>
[parent_id] => 55
[children] => Array
(
)
)
[1] => Array
(
[ID] => 921
[Name] => fd
[Note] =>
[parent_id] => 55
[children] => Array
(
)
)
[2] => Array
(
[ID] => 980
[Name] => FP
[Note] =>
[parent_id] => 55
[DomainID] => 1
[children] => Array
(
)
)
)
)
)
[1] => Array
(
[ID] => 59
[Name] => PC
[Note] =>
[parent_id] => 35
[children] => Array
(
[0] => Array
(
[ID] => 60
[Name] => IT
[Note] =>
[parent_id] => 59
[children] => Array
(
)
)
数组一直这样。更多的父母,更多的孩子... 我要提取的唯一数据是“名称”,但我需要以某种方式来获取它们,以便他们知道它们属于哪个父级。
foreach($outArray as $row => $innerArray){
foreach($innerArray as $innerRow => $value){
echo $value . "<br/>";
我尝试提取数据的一种方法,但是没有任何子项。
答案 0 :(得分:2)
php中有一个名为array_walk_recursive
的函数可以处理此问题。您可以使用它。我已经为您准备了示例代码。请看下面:
$results = array();
array_walk_recursive($array, function ($item, $key) use (&$results){
if ($key == 'Name') {
$results[] = $item;
}
});
var_dump($results);
上面的代码将输出数组中所有“名称”键的值。
请告知我这是否是您所期望的。您可以在array_walk_recursive
Here
希望这会有所帮助。