Array
(
[0] => Array
(
[id] => 1
[parent_id] => 0
[name] => A
)
[1] => Array
(
[id] => 2
[parent_id] => 1
[name] => A > B
)
[2] => Array
(
[id] => 3
[parent_id] => 2
[name] => A > B > C
)
)
我想要的是来自多维数组的单维数组,例如
array(
[1] => A
[2] => A > B
[3] => A > B > C
)
假设元素内的id
索引是唯一的,则可以使用函数array_column
将id
和name
之间的关系提取为 ana 关联数组。 array_column
接受列的名称作为第三个参数,以用作结果数组的索引。
array_column文档
要解决您的特定问题,您可以像这样使用它
$data = [
[
'id' => 1,
'parent_id' => '0',
'name' => 'A',
],
[
'id' => 2,
'parent_id' => '1',
'name' => 'A > B',
],
[
'id' => 3,
'parent_id' => '2',
'name' => 'A > B > C',
]
];
$names = array_column($data,'name','id');
print_r($names);
//[1 => 'A', 2 => 'A > B', 3 => 'A > B > C']
使用 RecursiveArrayIterator
foreach(new RecursiveIteratorIterator(new RecursiveArrayIterator($records)) as $k=>$v){
if($k=='name'){$singleDimension[]=$v;}
}
演示:https://3v4l.org/DQdg3