【发布时间】:2016-11-23 18:02:18
【问题描述】:
这是我的问题,我知道为什么会发生这种情况,但是我不确定如何解决它,因为我对此问题的研究没有返回任何对我的特定问题有效的信息。
我正在发出 cURL 请求并解析对象以获取它们的值,然后将其存储在变量中以便稍后插入数据库。 HTTP 请求来自流式服务器。话虽如此,如果流未处于活动状态,则对象不存在,但是,如果对象存在,则像这样返回...
<IsConnected>true</IsConnected>
所以在我的脚本中,我一直在解析对象,以查找对象的值是真还是假,然后将该值存储在变量中以插入数据库。
$streamStatus = $obj->isConnected?'true':'false';
虽然这很好用,但它的语法不正确,因为当由于流未处于活动状态而导致对象不存在时,我的错误日志中会出现几十个以下错误。
未定义属性:stdClass::$isConnected
所以我的问题是,我怎样才能正确解决这个问题,以便在它处于活动状态并且对象存在时获取它的值 true,但在对象不存在时获取 false?
编辑
这是流处于活动状态时的完整响应以及请求返回的内容。
<IncomingStream serverName="_defaultServer_">
<ApplicationInstance>_definst_</ApplicationInstance>
<Name>ncopeland</Name>
<SourceIp>rtmp://xx.xxx.xx.xx:xxxxxx</SourceIp>
<IsRecordingSet>false</IsRecordingSet>
<IsStreamManagerStream>false</IsStreamManagerStream>
<IsPublishedToVOD>false</IsPublishedToVOD>
<IsConnected>true</IsConnected>
<IsPTZEnabled>false</IsPTZEnabled>
<PtzPollingInterval>2000</PtzPollingInterval>
</IncomingStream>
【问题讨论】:
-
为什么不打印出 $obj 以查看该变量中存储的内容?使用 print_r() 因为它显示了一个很好的组织结果。
-
我已经知道存储了什么。问题是检查对象是否可用。