PHP Warning: Invalid argument supplied for foreach()

Статус
В этой теме нельзя размещать новые ответы.

Vaterland

Постоялец
Регистрация
7 Июн 2014
Сообщения
56
Реакции
20
На php 5.5.9 не хочет работать код.

Строка foreach ($wishlists as $wishlist) и ошибка сама: PHP Warning: Invalid argument supplied for foreach()

То есть нет переменной?

Вот сам код:

PHP:
        $wishlists = WishList::getByIdCustomer((int)$customer->id);
        if (!count($wishlists))
            $this->html .= $customer->lastname.' '.$customer->firstname.' '.$this->l('No wishlist.');
        else
        {
            $this->html .= '<form action="'.Tools::safeOutput($_SERVER['REQUEST_URI']).'" method="post" id="listing">';

            $id_wishlist = (int)Tools::getValue('id_wishlist');
            if (!$id_wishlist)
                $id_wishlist = $wishlists[0]['id_wishlist'];

            $this->html .= '<span>'.$this->l('Wishlist').': </span> <select name="id_wishlist" onchange="$(\'#listing\').submit();">';
            foreach ($wishlists as $wishlist)
            {
                $this->html .= '<option value="'.(int)$wishlist['id_wishlist'].'"';
                if ($wishlist['id_wishlist'] == $id_wishlist)
                {
                    $this->html .= ' selected="selected"';
                    $counter = $wishlist['counter'];
                }
                $this->html .= '>'.htmlentities($wishlist['name'], ENT_COMPAT, 'UTF-8').'</option>';
            }
            $this->html .= '</select>';

Помогите исправить, спасибо!
 
Для просмотра ссылки Войди или Зарегистрируйся не даёт точной проверки на тип переменной, замени if (!count($wishlists)) на
PHP:
if (!is_array($wishlists) OR !count($wishlists))
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху