возникли проблемы с синтаксисом php и foreach - PullRequest
0 голосов
/ 12 ноября 2009

получение предупреждения: неверный аргумент для foreach () предоставлен в /home/maxer/domains/x/public_html/x/items.php в строке 41

строка 41 - это foreach

$items = getUserList($user,0,100);

foreach($items as $item){

    echo "<img src=\"".$item['image']."\">"; //image
    echo ""; //title
    echo ""; //button for add to list

}

Ответы [ 2 ]

4 голосов
/ 12 ноября 2009

Это означает, что $items не является массивом или не реализует Traversable . Если вы предоставляете что-то, что не является массивом и не реализует Traversable до foreach, он будет жаловаться на это сообщение. Либо приведите результат getUserList к массиву, либо проверьте, является ли он одним.

$items = (array)getUserList($user,0,100);

или как-то так:

$items = getUserList($user,0,100);

if (!is_array($items)) {
    // error
} else {
    foreach ($items …) {
        // …
    }
}
3 голосов
/ 12 ноября 2009

ваша функция getUserList не возвращает массив чтобы убедиться, что $ items - массив, напишите так:

$items = (array) getUserList($user,0,100);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...