За последние 24 часа нас посетили 58944 программиста и 1771 робот. Сейчас ищут 833 программиста ...

Warning: Invalid argument supplied for foreach()

Тема в разделе "PHP для новичков", создана пользователем vl25, 30 янв 2009.

  1. vl25

    vl25 Активный пользователь

    С нами с:
    30 янв 2009
    Сообщения:
    25
    Симпатии:
    0
    Всем привет! У меня возникла проблема с php скриптом! Я дулаю игровой мониторинг и использую функция foreach, она приведена ниже, и если сервер пуст или не отвечает на запросы скрипта то он пишет вверху страницы

    Код (Text):
    1. Warning: Invalid argument supplied for foreach() in /home/****/domains/*****/public_html/cs/banner/traker.php on line 13
    Сам кусок кода:
    PHP:
    1. $players= $pq->query_players($server.":".$port);
    2. foreach($players[players] as $key=>$value) // Выводим имя игрока и сколько он убил человек
    3. {
    4. $playing.='<tr><td>'.$players[players][$key][name].'</td><td>'.$players[players][$key][kills].'</td></tr>';
    5. }
    6. $playing.='</table>';
    Я понимаю что эта ошибка связана с тем что он не может получить данные или просто 0, хочю узнать как дописать часть так чтобы при нуле (пустоте сервера) он просто уведомлял пользователя а не писал ошибкку!
    спс!
     
  2. sylex

    sylex Активный пользователь

    С нами с:
    9 ноя 2008
    Сообщения:
    625
    Симпатии:
    0
    Адрес:
    Омск
    это значит что нужно проверять, что это массив, прежде чем пытаться обойти его:
    PHP:
    1. <?php $players= $pq->query_players($server.":".$port);
    2.  if ( is_array($players) )
    3.  foreach($players[players] as $key=>$value) // Выводим имя игрока и сколько он убил человек
    4.  {
    5.  $playing.='<tr><td>'.$players[players][$key][name].'</td><td>'.$players[players][$key][kills].'</td></tr>';
    6.  }
    7.  $playing.='</table>'; ?>
     
  3. sylex

    sylex Активный пользователь

    С нами с:
    9 ноя 2008
    Сообщения:
    625
    Симпатии:
    0
    Адрес:
    Омск
    возьми в скобки, и сделай else ... вывод ошибки
     
  4. vl25

    vl25 Активный пользователь

    С нами с:
    30 янв 2009
    Сообщения:
    25
    Симпатии:
    0
    Большое спасибо, работает :)