php - Parent Child 多维数组转换为一维数组
问题描述
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
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']
推荐阅读
- sql - 减去刚刚在 bigquery 中创建的列
- java - 使用 Java 从站点下载所有图像的最佳方法?当前收到 403 状态错误
- javascript - JavaScript:Axios Post 请求不发送 cookie(HTTP cookie)
- react-native - 是否至少在渲染一次之前引用任何可用的组件?
- php - 如何在laravel的另一个表中获取数据where子句
- typescript - 从 Typescript 文件中导出多个接口
- react-native - 杀死Android上的应用程序时Expo TaskManager崩溃?
- javascript - 在我按下按钮之前我的代码正在运行,有人可以告诉我为什么吗?
- c++ - C++ 初始值设定项列表成员仍在调用默认构造函数?
- java - 如何在 Java 中使用 org.owasp.encoder.Encode?