Я хотел бы создать рекурсивную функцию для извлечения данных из массива и организации тогда. Однако у меня есть некоторые трудности для создания правильной логики. Этот принцип должен применяться к любому субуровню до тех пор, пока он не закончится или ничего не будет найдено. Я хочу, чтобы предотвратить такого рода кода, повторяя Еогеасп внутри Еогеаспа ...:PHP - рекурсивная функция foreach
$cats = get_categories($args);
$categories = array();
foreach($cats as $cat){
$parent = $cat->category_parent;
if ($parent) {
$categories['child'][$parent][$cat->cat_ID] = $cat->name;
} else {
$categories['parent'][$cat->cat_ID] = $cat->name;
}
}
}
if (isset($categories['parent']) && !empty($categories['parent'])) {
foreach($categories['parent'] as $id => $cat){
$new_cats[$id]['title'] = $cat;
if (isset($categories['child'][$id])) {
foreach($categories['child'][$id] as $child_id => $child_cat){
$new_cats[$child_id]['title'] = $child_cat;
$new_cats[$child_id]['parent_id'] = $id;
if (isset($categories['child'][$child_id])) {
foreach($categories['child'][$child_id] as $sub_child_id => $sub_child_cat){
$new_cats[$sub_child_id]['title'] = $sub_child_cat;
$new_cats[$sub_child_id]['parent_id'] = $child_id;
}
}
}
}
}
}
}
Можете ли вы сделать небольшой пример массив как 5 элементов, от того, что у вас есть и в какой форме вы хотите получить его в – Rizier123
Этот код вызывает головокружение со всеми этими дочерними и дочерними ... И наличие родительских и дочерних идентификаторов в одном измерении также кажется странным – Rizier123
Эта функция работает, но требует, чтобы вручную время foreach позволяло глубже глубже получить детей в моем случае. Я думаю, что рекурсивная функция должна соответствовать моему делу, но у меня есть некоторые трудности с ее созданием. – freaky