Forum Webscript.Ru

Программирование => PHP => Тема начата: Yourock от 24 Марта 2005, 22:29:06

Название: Многомерные массивы
Отправлено: 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...
Подскажите, как еще можно урезать код.
Название: Многомерные массивы
Отправлено: Меняздесьдавнонет от 24 Марта 2005, 22:41:42
Цитировать
Yourock:
Пробовал с двумерным... не получается

попробуй ещё.
извини, но это единственное, что тебе можно посоветовать на этот невнятный вопрос.

ну неужели так трудно привести тот код, который ты "пробовал"?
Написать - чего ожидал, а что получилось в итоге?
Название: Многомерные массивы
Отправлено: Меняздесьдавнонет от 24 Марта 2005, 22:44:22
или тебе просто не хватает сообразительности почитать [p]types.array[/p]?