1

在尝试从套接字读取数据时,通过解释器运行以下代码:

function get_song_title($stream){
    $song;
    $sc_return = array();
    $sc_return = explode("\r\n",$stream);
    $song = $sc_return[4];
    return $song;
}

这可能会在 20% 的时间内成功获取我需要的信息。

但是,当我这样做时:

function get_song_title($stream){
    $song;
    $sc_return = array();
    $sc_return = explode("\r\n",$stream);
    echo $sc_return[4];
    $song = $sc_return[4];
    return $song;
}

它会在 100% 的时间内成功。任何打印数组(或其元素)的方法都可以使其正常工作。如果我只是尝试返回或分配它,则会出现未定义的偏移量 4 消息。

这也包括使用 print_r($sc_return); 这将永远成功。

任何想法为什么我需要打印数组元素才能让它一直成功?

4

1 回答 1

0

不确定为什么需要 echo / print out 才能工作,但是...

试着做

var_dump($sc_rturn);

看看你得到了什么。

还要检查未定义的索引,你应该做

isset($sc_return[4]);

您也可以使用计算结果

count($sc_return);
于 2013-09-18T09:10:04.997 回答