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 是数组,在第 11 行的 /home/xzer123/public_html/tw1.php 中给出 null

怎么了?

4

2 回答 2

2

第二个参数json_decode指定您希望将结果作为一个数组。

将其更改为,false或者您可以将其删除,因为它默认为false.

get_object_vars期望一个对象而不是一个数组传递给它。

于 2014-10-15T08:01:05.223 回答
0

要将内容提取为数组而不是对象,您可以使用此代码,首先json_decode将第二个参数的结果设置为,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 回答