这段代码是websocket服务器的一部分:
$msgArray = json_decode($msg);
if ($msgArray->sciID) {
echo "Has sciID";
}
它要么接收像{"sciID":67812343}
这样的json字符串,要么接收一个完全不带sciID的json字符串,比如{"something":"else"}
。
当服务器接收到后者时,它将回显:Notice: Undefined property: stdClass::$sciID in /path/to/file.php on line 10
检查$msgArray->sciID
是否存在的正确代码是什么?
发布于 2011-05-02 07:13:10
使用isset
作为通用检查(您也可以使用property_exists
,因为您正在处理对象):
if (isset($msgArray->sciID)) {
echo "Has sciID";
}
发布于 2011-05-02 07:14:12
发布于 2014-01-18 02:23:15
如果isset()
或property_exists()
不起作用,我们可以使用array_key_exists()
if (array_key_exists("key", $array)) {
echo "Has key";
}
https://stackoverflow.com/questions/5852094
复制相似问题