转换为嵌套格式 php
convert to nested format php
我只是需要一些帮助来显示下面图像数据的正确结构。基本上我想要的是以嵌套形式显示它。根据下面的数据,我希望它显示如下:
- 恩格尔(parent 其中 parent_id = 0)
- 卧式冰箱 - 冰柜
- 小恩格尔
- 数字白金
- 立式冰箱
- Built-in冰箱
- 冰箱配件
- 毛毯
- 提手
我希望有人能帮助我。我正在使用 php 仅供参考。
递归执行
// For example, data fetched from database:
$data = [
['id' => 1, 'sku' => 'name1', 'parent_id' => null],
['id' => 2, 'sku' => 'name12', 'parent_id' => 1],
['id' => 3, 'sku' => 'name12', 'parent_id' => 1],
['id' => 4, 'sku' => 'name2', 'parent_id' => null],
['id' => 5, 'sku' => 'name123', 'parent_id' => 2],
];
// Recursive function
function outTree($data, $parentId = null) {
$str = '';
foreach ($data as $row) {
if ($row['parent_id'] == $parentId) {
$str .= '<li>' . $row['sku'];
$str .= outTree($data, $row['id']);
$str .= '</li>';
}
}
if ($str) {
$str = '<ul>' . $str . '</ul>';
}
return $str;
}
echo outTree($data);
我只是需要一些帮助来显示下面图像数据的正确结构。基本上我想要的是以嵌套形式显示它。根据下面的数据,我希望它显示如下:
- 恩格尔(parent 其中 parent_id = 0)
- 卧式冰箱 - 冰柜
- 小恩格尔
- 数字白金
- 立式冰箱
- Built-in冰箱
- 冰箱配件
- 毛毯
- 提手
- 卧式冰箱 - 冰柜
我希望有人能帮助我。我正在使用 php 仅供参考。
递归执行
// For example, data fetched from database:
$data = [
['id' => 1, 'sku' => 'name1', 'parent_id' => null],
['id' => 2, 'sku' => 'name12', 'parent_id' => 1],
['id' => 3, 'sku' => 'name12', 'parent_id' => 1],
['id' => 4, 'sku' => 'name2', 'parent_id' => null],
['id' => 5, 'sku' => 'name123', 'parent_id' => 2],
];
// Recursive function
function outTree($data, $parentId = null) {
$str = '';
foreach ($data as $row) {
if ($row['parent_id'] == $parentId) {
$str .= '<li>' . $row['sku'];
$str .= outTree($data, $row['id']);
$str .= '</li>';
}
}
if ($str) {
$str = '<ul>' . $str . '</ul>';
}
return $str;
}
echo outTree($data);