Автор Тема: Многомерные массивы  (Прочитано 2277 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Yourock

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 57
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Многомерные массивы
« : 24 Марта 2005, 22:29:06 »
Как можно оптимизировать код?..

Есть такая ситуация:


# сначала немного лирики...
echo "<a href=\\"$PHP_SELF?id=8\\">ссылка</a>

"
;
$spr " :: ";

if (!isset(
$id)||$id<=0)
{ print (
"<font style=$style>Главная</font>"); } else {
print (
"<a href=$PHP_SELF>Главная</a>");

# а теперь серьезно...
# Суть этого кода заключается в том, что выбираем строку в зависимости от 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<count($a); $i++)
{
if (
$i==(count($a)-1)) { echo "$spr<font style=$style>".$b[$i]."</font>"; }
else                   { echo 
"$spr<a href=$PHP_SELF?id=".$a[$i].">".$b[$i]."</a>"; }
}

}
# The End.

Код этот у меня нормально работает, но мне кажется, что можно это все сделать с многомерным массивом,
тем самым упростить код... А то как-то кривовато получается: под каждую переменную создавать массив.
Пробовал с двумерным... не получается. А если переменных не 2,а 22...
Подскажите, как еще можно урезать код.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Многомерные массивы
« Ответ #1 : 24 Марта 2005, 22:41:42 »
Цитировать
Yourock:
Пробовал с двумерным... не получается

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

ну неужели так трудно привести тот код, который ты "пробовал"?
Написать - чего ожидал, а что получилось в итоге?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Многомерные массивы
« Ответ #2 : 24 Марта 2005, 22:44:22 »
или тебе просто не хватает сообразительности почитать [p]types.array[/p]?

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28