首页  >  文章  >  后端开发  >  PHP 对象到数组

PHP 对象到数组

WBOY
WBOY原创
2024-08-29 12:43:591008浏览

下面的文章提供了 PHP 对象到数组的概述。众所周知,对象被称为分配了内存的类实例。对于数组来说,它是一种数据结构,在单个名称中包含一个或多个类似类型的值。另一方面,关联数组与普通的 PHP 数组不同。关联数组是由字符串索引组成的数组,该索引存储与键值链接的项目值,而不是按线性索引的顺序。

广告 该类别中的热门课程 PHP 开发人员 - 专业化 | 8 门课程系列 | 3次模拟测试

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

PHP 对象到数组的方法

现在,让我们看看将 PHP 对象转换为数组的不同方法。

方法1

借助 json_decode 和 json_encode 方法

在此方法中,函数 json_decode 获取 JSON 编码字符串并将其更改为 PHP 变量,而 json_encode 函数返回一个以 json 格式编码为特定值的字符串。

语法:

$arr = json_decode(json_encode ( $obj ) , true);

方法2

借助类型转换

类型转换是一种将一种数据类型变量转换为另一种数据类型的技术。它被视为显式数据类型转换。它可以借助 PHP 中的类型转换规则将 PHP 对象转换为数组。

语法:

$arr = (array) $obj;

如何在 PHP 中将对象转换为数组?

众所周知,数据有多种格式,如字符串、对象、数组等。对于 PHP 来说,也有这样的数据格式。为了获得所需的输出,需要一个关联数组格式的 php 对象 obj result。

现在,让我们看看如何翻译 php 对象。

代码:

<?php
class hospital
{
// elements
. . . .
function __construct( $dis1, $dis2, $dis3)
{
// Use this pointer
. . . .
}
// create class object
. . .
// convert object to array
. . . .
?>

这是将对象转换为数组的骨架。

现在让我们看看如何执行此操作。

  • 为了对字符串进行编码,请使用“object = json_encode($array);”

当对象为var_dump时,将显示所有项目。

  • 为了解码为对象,将使用可用的 json 字符串对对象进行转换和字符串格式化。它将使用 $obj = json_decode(json_encode($arr));
  • 完成
  • 当对象为var_dump时,转成数组后会显示所有项目

这里,需要考虑的一个重要点是 json_decode 将 json 字符串转换为对象,除非您提供另一个布尔值选项,可以是 true 或 false。即使第二个参数为true,也会得到一个数组。

另外,在使用json的encode操作和decode操作时,如果数组很大的话,数组会被转换为占用大量资源的对象。在这种情况下,更好的方法是将数组类型转换为使用对象转换的对象。

考虑 $obj = (object) $arr;句法。在这里,对象也将被转换为数组。

根据需要,您可以选择您想要的 PHP 中将数组转换为对象的方法。

PHP 对象到数组的示例

下面提到了不同的示例:

示例#1

使用类型转换方法将对象转换为数组的 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);
?>

输出:

PHP 对象到数组

在这个程序中,创建了一个类医院,其中包含 el1、el2 和 el3 等三个元素。然后,声明一个 __construct() 函数,该函数在创建对象时执行。完成此操作后,构造函数将采用稍后在对象创建期间使用关键字“new”提供的参数。从程序中可以看出,在表达式 var_dump() 的第一种情况下打印了对象。但在表达式的第二种情况下,使用类型转换过程将对象转换为数组。

示例#2

使用 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);
?>

输出:

PHP 对象到数组

在此程序中,还创建了一个类医院,并在其中创建了两个元素,例如 el1 和 el2。然后,声明一个 __construct() 函数,该函数在创建对象时执行。完成此操作后,构造函数将采用稍后在对象创建期间使用关键字“new”提供的参数。从程序中可以看出,在表达式 var_dump() 的第一种情况下打印了对象。但在表达式的第二种情况下,使用类型转换过程将对象转换为数组。这里,方法部分中的第一个方法用于将对象转换为数组。

结论

关联数组是由字符串索引组成的数组,该字符串索引存储与键值链接的项目值,而不是按线性索引的顺序。本文介绍了 PHP 对象到数组的工作原理、实现方法以及不同的示例。

以上是PHP 对象到数组的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn