ФорумПрограммированиеPHP для идиотовРасширения PHP → is_array в смартях

is_array в смартях

  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 23 марта 2010 г. 3:47

    нужно реализовать выпадающее меню
                <ul>
                   {foreach from=$adminMenu item=menu}
                   <li>
                       <a href="#" title="{$menu.name}">{$menu.name}</a>
                       <ul>
                           {foreach from=$section[$menu.id] item=sectionMenu}
                           <li>
                               <a href="{$sectionMenu.link}" title="{$sectionMenu.name}">{$sectionMenu.name}</a>
                           </li>
                           {/foreach}
                       </ul>
                   </li>
                   {/foreach}
               </ul>

    $adminMenu - категории
    $section - разделы

    если в одной из категорий нет разделов, то выдаст ошибку так как тут
    {foreach from=$section[$menu.id] item=sectionMenu}

    $section[$menu.id] не будет массивом
    Как мне тут сделать если $section[$menu.id] не массив, то этот блок

    <ul>
    {foreach from=$section[$menu.id] item=sectionMenu}
    <li>
    <a href="{$sectionMenu.link}" title="{$sectionMenu.name}">{$sectionMenu.name}</a>
    </li>
    {/foreach}
    </ul>

    вообще показывать не нужно.
  • Baboot

    Сообщения: 440 Репутация: N Группа: Адекваты

    Spritz 23 марта 2010 г. 4:05, спустя 18 минут 11 секунд

    а простая проверка {if is_array($section[$menu.id])} не работает?
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 23 марта 2010 г. 4:13, спустя 7 минут 52 секунды

    нет, ошибку выдает
    ERRNO : 8
    TEXT : Undefined index: 2
    Спустя 118 сек.
    Я туплю =) isset помогло.
    А раньше я пробовал, не помогало. Наверно неправильно что то в смартях написал
  • Baboot

    Сообщения: 440 Репутация: N Группа: Адекваты

    Spritz 23 марта 2010 г. 4:14, спустя 57 секунд

    тоесть если ты форыч обрамляешь проверкой на is_array он все равно в него заходит?
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 23 марта 2010 г. 5:28, спустя 1 час 13 минут 57 секунд

    если я проверяю is_array то он выдает ошибку что в этом массиве нет такого ключа. Я же такой $section[$menu.id] массив проверяю.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!