@dima0077

Php ссылка не могу понять как работает?

есть таблица
`categories` (`id`, `title`, `parent`) VALUES
(1, 'Автомобили', 0),
(2, 'Мотоциклы', 0),
(3, 'Мазда', 1),
(4, 'Хонда', 1),
(5, 'Кавасаки', 2),
(6, 'Харлей', 2),
(7, 'Мазда 3', 3),
(8, 'Мазда 6', 3),
(9, 'Седан', 7),
(10, 'Хечбэк', 7),
(11, 'Лодки', 0),
(12, 'Лифтбэк', 8),
(13, 'Кроссовер', 8),
(14, 'Белый', 13),
(15, 'Красный', 13),
(16, 'Черный', 13),
(17, 'Зеленый', 13),
(18, 'Мазда CX', 3),
(19, 'Мазда MX', 3);

function getCat($mysqli){
	$sql = 'SELECT * FROM `categories`';
	$res = $mysqli->query($sql);

	//Создаем масив где ключ массива является ID меню
	$cat = array();
	while($row = $res->fetch_assoc()){
		$cat[$row['id']] = $row;
	}
	return $cat;
}

function getTree($dataset) {
	$tree = array();

	foreach ($dataset as $id => &$node) {    
		//Если нет вложений
		if (!$node['parent']){
			$tree[$id] = &$node;
		}else{ 
			//Если есть потомки то перебераем массив
            $dataset[$node['parent']]['childs'][$id] = &$node;
		}
	}
	return $tree;
}

$cat  = getCat($mysqli);
$tree = getTree($cat);


как работает функция getTree а именно цикл foreach ($dataset as $id => &$node) можете написать такой же цикл без использования ссылки перед переменной либо объяснить что происходит в цикле, буду очень благодарен
  • Вопрос задан
  • 420 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы