<?php
$categories = array(
array(
'parent_id' => 0,
'categories_id' => 1,
),
array(
'parent_id' => 1,
'categories_id' => 11,
),
array(
'parent_id' => 1,
'categories_id' => 111,
),
array(
'parent_id' => 0,
'categories_id' => 2,
),
array(
'parent_id' => 2,
'categories_id' => 22,
),
);
$tree = array();
foreach ($categories as $category) {
$tree = &build(&$tree, $category);
}
// var_export($tree);
function &build(&$tree = array(), $category) {
if (empty($category)) {
return;
}
if ($category['parent_id'] == 0 && ! isset($category['childs'])) {
$category = array_merge($category, array('childs' => array()));
$tree = array_merge($tree, $category);
return $tree;
}
foreach ($tree as $parent_id => $cate) {
var_dump($tree);
if ($category['parent_id'] == $parent_id) {
$cate[$parent_id]['childs'] = $category;
}
if (is_array($cate)) {
return build($tree, $category);
}
}
return $tree;
}
- Output for 7.1.0 - 7.1.17, 7.2.0 - 7.2.6
- Parse error: syntax error, unexpected '&' in /in/W24VF on line 29
Process exited with code 255.
preferences:
179.71 ms | 1395 KiB | 32 Q