Avatar ·

PHP中的"Creating default object from empty value"错误:原因与修复

大家好!我刚开始学习PHP,遇到了一个奇怪且无法理解的错误。

我有一段简单的代码,尝试创建一个对象并立即为其赋值属性:

<?php
$user = new stdClass();
$user->name = 'John';
$user->age = 25;

// 后来我决定简化,写成这样:
$user2->name = 'Jane'; // 这里出错了!
?>

我收到一个警告:"Creating default object from empty value"。之前在教程示例中,我看到可以直接写$obj->property = value而不声明$obj = new stdClass(),并且能正常运行。但现在PHP报错了。为什么会这样?

我知道$user2未定义,但难道PHP不应该自动创建一个空对象吗?例如在JavaScript中,这样的写法是可行的。是不是我的PHP配置有问题?还是这取决于PHP版本?

请告诉我如何正确创建对象。