Я пытаюсь зациклить функцию, которая берет все подкатегории .. из одной главной категории в одну таблицу и помещает в массив.
Пример таблицы:
ID | ParentID
1 | 0
2 | 1
3 | 1
4 | 2
5 | 4
6 | 3
7 | 1
(Подкатегории имеютparentID)
Теперь пример в функции PHP, принимающей все подкатегории главной категории (ID = 1)
var_dump(getSubCategories(1));
function getSubCategories($parent_id = 0, $subcategories = array())
{
global $db;
$query = $db->query("
SELECT ID
FROM categories
WHERE ParentID = $parent_id
ORDER
BY Name ASC
");
while ($row = $query->fetch_assoc()) {
$subcategories = getSubCategories($row['ID'], $subcategories);
}
return $subcategories;
}
Проблема состоит в том, чтобы поместить идентификаторы в массив, потому что код вышепечатает этот результат:
array(0) { }
Одна вещь, которую я заметил, это то, что, если я добавлю эту строку ниже, в то время как:
echo $row['ID'] . ',';
Она печатает результат правильно, но не как массив:
2,3,4,5,6,7
Мои ожидания были такими, например: array(1, 2, 3, 4, 5, 6, 7)
и т. Д., Но не многомерными.