下面的文章提供了 PHP 对象到数组的概述。众所周知,对象被称为分配了内存的类实例。对于数组来说,它是一种数据结构,在单个名称中包含一个或多个类似类型的值。另一方面,关联数组与普通的 PHP 数组不同。关联数组是由字符串索引组成的数组,该索引存储与键值链接的项目值,而不是按线性索引的顺序。
广告 该类别中的热门课程 PHP 开发人员 - 专业化 | 8 门课程系列 | 3次模拟测试开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
现在,让我们看看将 PHP 对象转换为数组的不同方法。
借助 json_decode 和 json_encode 方法
在此方法中,函数 json_decode 获取 JSON 编码字符串并将其更改为 PHP 变量,而 json_encode 函数返回一个以 json 格式编码为特定值的字符串。
语法:
$arr = json_decode(json_encode ( $obj ) , true);
借助类型转换
类型转换是一种将一种数据类型变量转换为另一种数据类型的技术。它被视为显式数据类型转换。它可以借助 PHP 中的类型转换规则将 PHP 对象转换为数组。
语法:
$arr = (array) $obj;
众所周知,数据有多种格式,如字符串、对象、数组等。对于 PHP 来说,也有这样的数据格式。为了获得所需的输出,需要一个关联数组格式的 php 对象 obj result。
现在,让我们看看如何翻译 php 对象。
代码:
<?php class hospital { // elements . . . . function __construct( $dis1, $dis2, $dis3) { // Use this pointer . . . . } // create class object . . . // convert object to array . . . . ?>
这是将对象转换为数组的骨架。
现在让我们看看如何执行此操作。
当对象为var_dump时,将显示所有项目。
这里,需要考虑的一个重要点是 json_decode 将 json 字符串转换为对象,除非您提供另一个布尔值选项,可以是 true 或 false。即使第二个参数为true,也会得到一个数组。
另外,在使用json的encode操作和decode操作时,如果数组很大的话,数组会被转换为占用大量资源的对象。在这种情况下,更好的方法是将数组类型转换为使用对象转换的对象。
考虑 $obj = (object) $arr;句法。在这里,对象也将被转换为数组。
根据需要,您可以选择您想要的 PHP 中将数组转换为对象的方法。
下面提到了不同的示例:
使用类型转换方法将对象转换为数组的 PHP 程序。
代码:
<?php class hospital { var $el1; var $el2; var $el3; function __construct( $dis1, $dis2, $dis3) { $this->item1 = $dis1; $this->item2 = $dis2; $this->item3 = $dis3; } } // Creation of object for the class $dis = new hospital("D", "S", "C") ; echo "Items before conversion : " ; var_dump($dis); // convert object to array $arr = (array)$dis; echo "Items after conversion : "; var_dump($arr); ?>
输出:
在这个程序中,创建了一个类医院,其中包含 el1、el2 和 el3 等三个元素。然后,声明一个 __construct() 函数,该函数在创建对象时执行。完成此操作后,构造函数将采用稍后在对象创建期间使用关键字“new”提供的参数。从程序中可以看出,在表达式 var_dump() 的第一种情况下打印了对象。但在表达式的第二种情况下,使用类型转换过程将对象转换为数组。
使用 json 编码和 json 解码将对象转换为数组的 PHP 程序。
代码:
<?php class hospital { var $el1; var $el2; function __construct( $dis1, $dis2 ) { $this->item1 = $dis1; $this->item2 = $dis2; } } // Creating object $dis = new hospital(500, "C"); echo "Items before conversion : " ; var_dump($dis); // convert object to array $arr = json_decode(json_encode($dis), true); echo "Items after conversion : "; var_dump($arr); ?>
输出:
在此程序中,还创建了一个类医院,并在其中创建了两个元素,例如 el1 和 el2。然后,声明一个 __construct() 函数,该函数在创建对象时执行。完成此操作后,构造函数将采用稍后在对象创建期间使用关键字“new”提供的参数。从程序中可以看出,在表达式 var_dump() 的第一种情况下打印了对象。但在表达式的第二种情况下,使用类型转换过程将对象转换为数组。这里,方法部分中的第一个方法用于将对象转换为数组。
关联数组是由字符串索引组成的数组,该字符串索引存储与键值链接的项目值,而不是按线性索引的顺序。本文介绍了 PHP 对象到数组的工作原理、实现方法以及不同的示例。
以上是PHP 对象到数组的详细内容。更多信息请关注PHP中文网其他相关文章!