次のコードを使用することができます(。あなたはあなたの例では$fetched_categories = $result
を設定する必要があります)
function get_subcategories($array, $category_name){
$return = array();
foreach ($array as $key => $category){
if ($category['subcat'] == $category_name){
$category['sub_categories'] = get_subcategories($array, $category['name']);
$return[] = $category;
}
}
return $return;
}
function print_categories($array, $level = 0){
echo ($level > 0 ? '<ol>' : '<ul>');
foreach ($array as $category){
echo '<li>' . $category['name'] . '</li>';
print_categories($category['sub_categories'], ++$level);
}
echo ($level > 0 ? '</ol>' : '</ul>');
}
$fetched_categories = array();
$fetched_categories[] = ['name' => 'Camera', 'subcat' => ''];
$fetched_categories[] = ['name' => 'Macbook', 'subcat' => 'Laptops'];
$fetched_categories[] = ['name' => 'Laptops', 'subcat' => ''];
$fetched_categories[] = ['name' => 'Desktops', 'subcat' => ''];
$fetched_categories[] = ['name' => 'Sony', 'subcat' => 'Desktops'];
$fetched_categories[] = ['name' => 'DSLR', 'subcat' => 'Camera'];
$categories = get_subcategories($fetched_categories, '');
print_categories($categories);
ここで出力されます:
https://eval.in/734955
私はあなたを理解することができませんそれは何をしていますか? –
'$ result = $ conn-> get(" category "、null、$ cols);' – jetblack
の行の後に 'var_dump($ result);'の結果を投稿してください。 '$ result [$ result] i] ['subcat'] 'は' Notset'ではありません。あなたは実際にそれが下にある*親をチェックしていません。 –