За последние 24 часа нас посетили 22712 программистов и 1210 роботов. Сейчас ищут 723 программиста ...

Цикл for для меню

Тема в разделе "Решения, алгоритмы", создана пользователем ugincs, 14 фев 2018.

  1. ugincs

    ugincs Новичок

    С нами с:
    14 фев 2018
    Сообщения:
    1
    Симпатии:
    0
    Добрый день. Все просто, но не могу вспомнить как поправить: меню организовано было так

    <?
    $link[1] = array("name"=>"Модельный ряд", "link"=>"/", "id"=>"index");
    $link[2] = array("name"=>"Аксессуары и з/ч", "link"=>"kat&id_cat=11", "id"=>"accessories");
    $link[3] = array("name"=>"Оптовые продажи", "link"=>"wholesale", "id"=>"wholesale");
    $link[4] = array("name"=>"Доставка", "link"=>"delivery", "id"=>"delivery");
    $link[5] = array("name"=>"О фирме", "link"=>"about", "id"=>"about");
    $link[6] = array("name"=>"Полезная информация", "link"=>"usefulinfo", "id"=>"usefulinfo");
    $link[7] = array("name"=>"Контакты", "link"=>"contact", "id"=>"contact");
    for ($i = 1; $i <= 7; $i++)
    {
    if (($_GET['page']==$link[$i][id]) and (!isset($_GET['id'])))
    {echo $link[$i][name]."<br> ";}
    else {echo "<a href=".$link[$i][link]." class=\"menulink\">".$link[$i][name]."</a><br> ";};

    потом понадобилось добавить два пункта меню, но они в БД идут с id 28,29

    <?
    $link[1] = array("name"=>"Модельный ряд", "link"=>"/", "id"=>"index");
    $link[2] = array("name"=>"Аксессуары и з/ч", "link"=>"kat&id_cat=11", "id"=>"accessories");
    $link[3] = array("name"=>"Оптовые продажи", "link"=>"wholesale", "id"=>"wholesale");
    $link[4] = array("name"=>"Доставка", "link"=>"delivery", "id"=>"delivery");
    $link[5] = array("name"=>"О фирме", "link"=>"about", "id"=>"about");
    $link[6] = array("name"=>"Полезная информация", "link"=>"usefulinfo", "id"=>"usefulinfo");
    $link[7] = array("name"=>"Контакты", "link"=>"contact", "id"=>"contact");
    $link[28] = array("name"=>"Видеоматериалы", "link"=>"video", "id"=>"video");
    $link[29] = array("name"=>"Фаркопы", "link"=>"farkops", "id"=>"farkops");
    for ($i = 1; $i <= 9; $i++)
    {
    if (($_GET['page']==$link[$i][id]) and (!isset($_GET['id'])))
    {echo $link[$i][name]."<br> ";}
    else {echo "<a href=".$link[$i][link]." class=\"menulink\">".$link[$i][name]."</a><br> ";};

    соответственно меню работает некорректно. Понимаю, что если бы было id 8,9 проблемы бы не было. Как поправить?
     
  2. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    MouseZver нравится это.
  3. Kylun-Serg

    Kylun-Serg Новичок

    С нами с:
    28 фев 2018
    Сообщения:
    16
    Симпатии:
    1
    При работе с ассоциативными массивами используется цикл foreach:
    PHP:
    1. foreach ($variable as $key => $value) {
    2.     # code...
    3. }
     
  4. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    для перебора любого массива, лучше foreach.