0

所以我已经阅读了 TwitchTV API 的所有内容,在网上搜索了所有答案,尝试了多个代码,但我仍然无法让它工作。

发生的事情是当 $channel 变量中的流不在线时,页面总是返回错误

注意:未定义的偏移量:第 13 行 /home/user/public_html/livestreamstatus.php 中的 0

. 我需要知道如何摆脱这个,只显示“离线”这个词

这是代码:

<?php

    $channel = "gamespot";

    $json_file = @file_get_contents("http://api.justin.tv/api/stream/list.json?channel={$channel}", 0, null, null);
    $json_array = json_decode($json_file, true);

    if ($json_array[0]['name'] == "live_user_{$channel}") {
        $channelTitle = $json_array[0]['channel']['title'];
        $title = $json_array[0]['channel']['status'];

?>
    ONLINE
<br />

<?php

    } else {

?>
    OFFLINE
<?php

    }

?>
4

1 回答 1

1

你想要的是检查它是否存在,所以在调用它之前让 php 为你检查。

<?php
$channel = "gamespot";

$json_file = @file_get_contents("http://api.justin.tv/api/stream/list.json?channel={$channel}", 0, null, null);
$json_array = json_decode($json_file, true);

if( array_key_exists( '0',       $json_array )
 && array_key_exists( 'channel', $json_array[0] )
 && $json_array[0]['name'] == "live_user_{$channel}" )
{
    $channelTitle = $json_array[0]['channel']['title'];
    $title        = $json_array[0]['channel']['status'];

    printf('Online');
}
else
{
    printf('Offline');
}

?>
于 2012-08-20T16:19:39.860 回答