2016-02-03 2 views
1

Так что я этот следующий код:Объект класса StdClass не может быть преобразован в строку с Halo API

<?PHP 

    $remote_url = 'https://www.haloapi.com/stats/h5/players/PLAYER/matches'; 

    // Create a stream 
    $opts = array(
     'http'=>array(
     'method'=>"GET", 
     'header' => "Ocp-Apim-Subscription-Key: MY SUBSCRIPTION KEY")     
    ); 

    $context = stream_context_create($opts); 

    // Open the file using the HTTP headers set above 
    $file = file_get_contents($remote_url, false, $context); 

    print(json_decode($file)); 

    ?> 

, и это дает мне следующую ошибку:

Catchable Фатальная ошибка: Объект класса StdClass не удалось преобразовать в строку в C: \ xampp \ htdocs \ HaloAPItest \ index.php в строке 17

Что мне делать?

+3

Вы ищете 'print_r()', а не 'print()'. – Darren

ответ

0

Что Даррен сказал в своем комментарии. print_r обрабатывает переменные любого класса. напечатайте только строки.

Другая полезная функция - var_dump. Также полезно написать функцию, чтобы сделать это, как var_dump_pre, и сделать ее положительной. <pre> </pre> теги вокруг вывода. Это хорошо отображает его на экране.

+0

Спасибо, так что если я просто использую эхо или печать, он должен работать? Я использовал var_dump, и он сказал, что это строка, и затем она все же распечатала строку loooong – ImInThatCorner

+0

@ImInThatCorner правильно, если это будет печатать строка. Если это не строковая печать, а эхо будет либо ошибкой, либо просто распечатать этот тип. Всегда полезно использовать var_dump или минимум print_r, чтобы вы могли распечатать любой объект и не беспокоиться о типе. Вам также необходимо проверить, что функция file_get_contents возвращает успешное значение, а не неудачный результат file_get_contents: «Функция возвращает данные чтения или FALSE при сбое». – Brett

Смежные вопросы