只有在将PHP环境升级到PHP 5.4或更高版本后,我才看到这个错误。错误指向这行代码:
错误:
从空值创建默认对象
代码:
$res->success = false;
我首先需要声明我的$res对象吗?
只有在将PHP环境升级到PHP 5.4或更高版本后,我才看到这个错误。错误指向这行代码:
错误:
从空值创建默认对象
代码:
$res->success = false;
我首先需要声明我的$res对象吗?
当前回答
从PHP 7开始,当变量为空时,可以使用空合并操作符来创建对象。
$res = $res ?? new \stdClass();
$res->success = false;
其他回答
在PHP 7中,匿名对象可以这样创建:
$res = new class {
public $success = false;
};
https://www.php.net/manual/en/language.oop5.anonymous.php http://sandbox.onlinephpfunctions.com/code/ab774707a8219c0f35bdba49cc84228b580b52ee
这是我在PHP 7中遇到的一个警告,解决这个问题的简单方法是在使用变量之前初始化它
$myObj=new \stdClass();
一旦你初始化了它,你就可以将它用于对象
$myObj->mesg ="Welcome back - ".$c_user;
不,你不需要。当您将成功值添加到对象时,它将创建它。如果没有指定默认类,则继承默认类。
试试这个:
ini_set('error_reporting', E_STRICT);
得到这个错误的一个简单方法是输入下面的(A),意思是输入(b)
(一)$ this - > - >变量
(b) $ this - > my_variable
微不足道,但很容易被忽视,如果你不去寻找,就很难发现。