更正 PHP 代码以检查变量是否存在

2022-08-30 15:51:33

此代码是 websocket 服务器的一部分:

$msgArray = json_decode($msg);
if ($msgArray->sciID) {
  echo "Has sciID";
}

它将接收一个类似json字符串的json字符串,或者一个没有sciID的完全不同的json字符串,例如.{"sciID":67812343}{"something":"else"}

当服务器收到较晚的时,它会回显:Notice: Undefined property: stdClass::$sciID in /path/to/file.php on line 10

检查是否存在的正确代码是什么?$msgArray->sciID


答案 1

isset 用作常规用途校验(您也可以使用property_exists因为您正在处理对象):

if (isset($msgArray->sciID)) {
    echo "Has sciID";
}

答案 2

推荐