Ошибка PHP Warning: Invalid argument supplied for foreach()

128
07 июня 2019, 08:10

Был скрипт парсер, подгружал посты со стороннего сайта. Все работало пока не перехал на другой хостинг. (Версия PHP везде одинаковая 7.0.) Парсер работает но под половиной постов выскакивает это сообщение

Warning: Invalid argument supplied for foreach() in /var/www/u0000000/data/www/test.ru/fars.php on line 83

И остается пустым (Без информации) поле first_name. Хотя информация есть на стороннем сайте. Скажите в чем может быть проблема?

Часть кода с 80 строки:

function user($id){  
$url = 'https://api.vk.com/method/users.get?user_ids='.$id.'&version=5.73&fields=city,photo_100&access_token=asdfasdf';
$result = file_get_contents ($url);
$b = json_decode($result, true);
    $result = file_get_contents ($url);
    $b = json_decode($result, true);
    // Перебирает массив засовывает в переменную value.
    foreach($b['response'] as $value) : 
    endforeach;
    $first_name = $value['first_name'];
    $avatar = $value['photo_100'];
    // Достает город.
    if ($value['city'] == 113) { 
    $city = 'Москва';
    }elseif ($value['city'] == 4433) {
    $city = 'СПБ';
    }elseif ($value['city'] == 889) {
    $city = 'Воронеж';
    } else {
    $city = 'Город не определен';
    }
    //возвращает ответ из переменной $b
    return compact('first_name','city','avatar'); 
    } 
Answer 1

Не много переделал Ваш код, на локальном сервере все работает

function user($id){
  $id = ;
  $token = '';
  $v = '5.80';
  $request = [
    'user_ids' => $id,
    'fields' => 'city,photo_100',
    'access_token' => $token,
    'v' => $v
  ];
  $rez = json_decode(file_get_contents('https://api.vk.com/method/users.get?'.http_build_query($request)));
  if($rez->response) {
    foreach ($rez->response as $res) {
      $first_name = ($res->first_name) ?: '';
      $avatar = ($res->photo_100) ?: '';
      $city = ($res->city->id) ?: '';
    }
  }
  return compact('first_name','city','avatar'); 
} 
READ ALSO
Uncaught SyntaxError: Unexpected token < на WordPress

Uncaught SyntaxError: Unexpected token < на WordPress

Был уже готовый сайт на WordPress с конструктором страниц и несколькими плагинамиНемножко изменил у себя на локальном сервере, залил на хостинг...

137
Клонирование объекта в PHP

Клонирование объекта в PHP

Допустим есть класс Alpha и класс BettaОбъект $b класса Betta содержит переменную $a класса Alpha

140
Почему ошибка в Ocmod Opencart 2.3?

Почему ошибка в Ocmod Opencart 2.3?

часть кода в файле модификатора до изменения

121
Js массив в PHP массив

Js массив в PHP массив

У меня следующая задача, есть страница откуда нужно спарсить информацию, проблема состоит в том что информация которую мне нужно добыть,...

109