Forum Webscript.Ru
Программирование => PHP => Тема начата: Yourock от 24 Марта 2005, 22:29:06
-
Как можно оптимизировать код?..
Есть такая ситуация:
# сначала немного лирики...
echo "ссылка
";
$spr = " :: ";
if (!isset($id)||$id<=0)
{ print ("Главная"); } else {
print ("Главная");
# а теперь серьезно...
# Суть этого кода заключается в том, что выбираем строку в зависимости от id
# и в цикле в каждый массив фигачим значения (id, name)
while ($id>0)
{
$tree_query = mysql_query("SELECT id, parentid, name FROM table_name WHERE id=$id");
$tree = mysql_fetch_array($tree_query);
$a[] = $tree["id"];
$b[] = $tree["name"];
$id = $tree["parentid"];
}
# разворачиваем массивы для правильного построения ветки навигации
# если этого не сделать, разделы первого уровня будут последними...
$a = array_reverse($a);
$b = array_reverse($b);
# Цикл вывода данных (массив принципиально не важен, т.к. размеры одинаковы)
for ($i=0; $i{
if ($i==(count($a)-1)) { echo "$spr".$b[$i].""; }
else { echo "$spr".$b[$i].""; }
}
}
# The End.
Код этот у меня нормально работает, но мне кажется, что можно это все сделать с многомерным массивом,
тем самым упростить код... А то как-то кривовато получается: под каждую переменную создавать массив.
Пробовал с двумерным... не получается. А если переменных не 2,а 22...
Подскажите, как еще можно урезать код.
-
Yourock:
Пробовал с двумерным... не получается
попробуй ещё.
извини, но это единственное, что тебе можно посоветовать на этот невнятный вопрос.
ну неужели так трудно привести тот код, который ты "пробовал"?
Написать - чего ожидал, а что получилось в итоге?
-
или тебе просто не хватает сообразительности почитать [p]types.array[/p]?