0
<?php
    $json = file_get_contents("https://api.twitch.tv/kraken/streams");
    $elements = json_decode($json,true);
    foreach ($elements as $element) {
        $channel = get_object_vars($element);
        print_r(array_keys($channel));
    }
?>

エラー:

get_object_vars() は、パラメーター 1 がオブジェクトであると想定し、10 行目の /home/xzer123/public_html/tw1.php で指定された配列

array_keys() は、パラメーター 1 が配列であると想定し、null は 11 行目の /home/xzer123/public_html/tw1.php で指定されます

何が間違っていたのですか?

4

2 に答える 2

2

2 番目のパラメーターjson_decodeは、結果を配列として取得することを指定します。

に変更するfalseか、単に削除することができます。これは、デフォルトで に設定されているためfalseです。

get_object_vars配列ではなくオブジェクトが渡されることを期待しています。

于 2014-10-15T08:01:05.223 に答える
0

コンテンツをオブジェクトではなく配列として抽出するには、このコードを使用できます。最初json_decodeに 2 番目のパラメーターを使用して結果を設定するtrueと、多次元配列が取得されます。

<?php
    $json = file_get_contents("https://api.twitch.tv/kraken/streams");
    $elements = json_decode($json,true);

    foreach ($elements['streams'] as $element) {

        print_r(array_keys($element));
    }
?>
于 2014-10-15T08:47:07.343 に答える