迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > PHP >

在 PHP 中从空值创建默认对象

作者:迹忆客 最近更新:2023/03/28 浏览次数:

我们将介绍一些在 PHP 中创建对象的方法,以及解决 creating default object from empty value 错误的一些方法。


在 PHP 中创建一个 stdClass() 对象

当我们尝试在不初始化对象的情况下分配对象的属性时,将抛出错误。错误会说从空值创建默认对象。该错误还取决于 php.ini 文件中的配置。当错误在配置中被抑制时,这样的脚本就不会抛出错误。改配置文件来抑制错误来摆脱它不是更好。相反,我们可以创建一个 stdClass() 对象来消除错误。当我们在全局命名空间中将变量声明为 stdClass() 的对象时,我们可以动态地为这些对象分配属性。

例如,创建一个变量 $obj 并将其设置为 NULL。然后,使用 $obj 对象将 success 属性设置为 false。在这种情况下,将抛出错误,如输出部分所示。这是因为 $obj 还没有被初始化为一个对象。

示例代码:

$obj = NULL;
$obj->success = true;

输出:

Warning: Creating default object from empty value

要消除错误,首先,将 $obj 变量分配给 stdClass() 的实例。接下来,使用 $objsuccess 属性设置为 true。然后,使用 print_r() 函数打印 $obj 对象。最好使用 isset() 函数来检查 $obj 是否已经存在。我们可以在输出部分看到有关 $obj 的信息。因此,我们可以通过创建 stdClass() 的对象来消除错误。

示例代码:

$obj = new stdClass();
$obj->success =true;
print_r($obj);

输出:

stdClass Object ( [success] => 1 ) 

在 PHP 中将数组类型转换为对象

我们可以在数组之前使用 object 关键字将数组类型转换为对象。这样就可以创建对象了。然后,我们可以将属性分配给对象。由于我们已经初始化了对象,因此在分配对象的属性时不会抛出错误。此方法还创建 stdClass() 类的对象。

例如,创建一个变量 $obj 并将其分配给 array() 函数。然后,在 array() 之前的括号中写入 object 关键字。数组已转换为对象。然后,使用 $objtrue 值分配给 success 属性。最后,使用 print_r() 函数打印对象。通过这种方式,我们可以创建一个类型转换数组的对象并摆脱错误。

示例代码:

$obj = (object)array();
$obj->success =true;
print_r($obj);

输出:

stdClass Object ( [success] => 1 ) 

在 PHP 中从匿名类创建对象

我们可以从 PHP 中的匿名类创建一个对象并为其分配属性。我们可以使用 new class 关键字来创建一个匿名类。我们可以像在泛型类中一样设置属性的值。由于属性将有一个类,并且我们可以使用对象访问它,因此不会抛出错误。

例如,创建一个对象 $obj 使用 new class 关键字为该对象分配一个匿名类。然后创建一个 public 属性 $success 并将值设置为 true。在类之外,使用 print_r() 函数打印对象。通过这种方式,我们可以从 PHP 中的匿名类创建一个对象并防止错误。

示例代码:

$obj = new class {
 public $success = true;
};
print_r($obj);

输出:

class@anonymous Object ( [success] => 1 ) 

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 PHP 中获取时间差的分钟数

发布时间:2023/03/29 浏览次数:183 分类:PHP

本文介绍了如何在 PHP 中获取时间差的分钟数,包括 date_diff()函数和数学公式。它包括 date_diff()函数和数学公式。

PHP 中的重定向

发布时间:2023/03/29 浏览次数:136 分类:PHP

本教程演示了如何将用户从页面重定向到 PHP 中的其他页面

PHP 分页

发布时间:2023/03/29 浏览次数:66 分类:PHP

本教程介绍如何在 PHP 中对数据库行进行分页

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便