如何在 PHP 中将对象转换为数组 [附示例]

已发表: 2020-10-26

PHP 是广泛用于 Web 开发的最流行的通用脚本语言之一。 它是最快、最灵活的编程语言之一。 使用 PHP 就是处理数据类型。 PHP 中有几种数据类型,其中对象和数组是 PHP 的复合数据类型。 本文重点介绍如何在 PHP 中将对象转换为数组

目录

PHP 中的面向对象编程 (OOP)

PHP 的关键方面之一是面向对象的编程,其中数据被视为对象,并在其上实现软件。 这是高级 PHP 的简化方法之一。 使用 PHP 可以实现面向对象的编程,其中对象具有由它们运行的​​ PHP 程序定义的规则。这些规则称为类。

一些 OOP 概念

在了解如何将对象转换为数组之前,让我们先了解一些与 PHP 中面向对象编程相关的重要术语。

班级

类是程序员定义的数据类型。 它包括局部函数和局部数据。 一个类可以作为一个模板,用于制作同一类对象的多个实例。

目的

数据结构的单个实例由类定义。 许多属于一个类的对象可以在定义一个类之后生成。 对象也称为实例。

定义类及其对象的示例

类工作{

// Jobs 类的成员

}

// 创建三个 Jobs 对象

$software = 新工作;

$pharmaceutical = 新工作;

$finance = 新工作;

大批

在 PHP 中,数组是一种特殊类型的变量,一次保存多个值。

定义一个数组

在 PHP 中,数组是用数组函数 'array()' 定义的。

例子:

<?php

$numbers = 数组(“一”、“二”、“三”);

回声计数($numbers);

?>

阅读: 15 个令人兴奋的 PHP 项目想法和初学者主题

对象到数组 PHP

PHP中将对象转换为数组的方法主要有两种:

1. 通过将对象类型转换为数组 PHP

2.使用JSON解码和编码方法

让我们详细看看两者:

1. 将对象类型转换为数组 PHP

类型转换是一种将一个数据类型变量用于不同数据类型的方法,它只是数据类型的精确转换。

在 PHP 中,可以使用 PHP 的类型转换规则将对象转换为数组。

句法:

$myArray = (数组) $myObj;

程序:

<?php

类商店{

公共函数__inventory($product1,$product2,$product3){

$this->product1 = $product1;

$this->product2 =$product2;

$this->product3 = $product3;

}

}

$myShop=new shop(“杂货”、“化妆品”、“谷物”);

echo “转换前:”。'</br>';

var_dump($myShop);

$myShopArray = (数组)$myShop;

echo "转换后:".'</br>';

var_dump($myShopArray);

?>

输出:

转换前:

object(shop)#1 (3) { [“product1″]=> string(5) ” 杂货店 ” [“product2″]=> string(4) ” 化妆品 ” [“product3″]=> string(4) ”粮食 ” }

转换后:

array(3) { [“product1″]=> string(5)”杂货店” [“product2″]=> string(4)”化妆品” [“product3″]=> string(4)”谷物”}

程序说明:

在上面的程序中,创建了一个类“shop”。 在“shop”类中,创建了函数“inventory()”。 函数inventory() 将在创建对象时执行。

构造函数将接收使用 new 关键字创建对象时提供的参数。 在第一个 var_dump() 表达式中,对象被打印出来。 第二次,使用类型转换过程将对象类型转换为数组。

2.使用JSON解码和编码方法

对象到数组 PHP也使用 JSON 解码和编码方法完成。 在此方法中,json_encode() 函数返回给定值的 JSON 编码字符串。 json_decode() 函数接受 JSON 编码的字符串并将其转换为 PHP 数组。

句法:

$myArray = json_decode(json_encode($object), true);

程序:

<?php

班级员工{

公共函数 __company($firstname, $lastname) {

$this->firstname = $firstname;

$this->姓氏 = $姓氏;

}

}

$myObj = 新员工(“卡莉”,“琼斯”);

echo “转换前:”。'</br>';

var_dump($myObj);

$myArray = json_decode(json_encode($myObj), true);

echo “转换后:”。'</br>';

var_dump($myArray);

?>

输出:

转换前:

对象(学生)#1 (2) { [“firstname”]=> string(4) ” Carly ” [“lastname”]=> string(6) ” Jones ” }

转换后:

数组(2){[“名字”]=>字符串(4)“卡莉”[“姓氏”]=>字符串(6)“琼斯”}

程序说明:

在上面的程序中,创建了一个名为“employee”的类。 在该类中,声明了一个函数“company()”,该函数将在对象创建期间执行。

构造函数接收使用 new 关键字创建对象时给出的参数。 在第一个 var_dump() 表达式中,对象被打印出来,在第二个中,对象被使用 json_decode 和 json_encode 技术转换成一个数组。

另请阅读: Github 上面向初学者的 15 个有趣的 PHP 项目

结论

在本文中,我们介绍了 PHP 最突出的主题之一。 作为一名程序员,您将处理语言的各个方面,并且在进入高级级别时必须处理一些最复杂的 PHP 概念。 希望这篇重点介绍在 PHP中将对象转换为数组的方法的文章能够为您提供参考。

upGrad带来了 PHP 编程以及 upGrad全栈开发软件开发专业化的 PG 文凭 一个让你成为全栈开发人员并学习构建一些很棒的应用程序的程序。 这是一个为期 12 个月的广泛计划,包括处理实时项目和任务,还培训 15 种编程语言和工具。 除此之外,它还提供模拟面试和工作协助等全方位的职业支持。

踏上梦想的工作

升级和 IIIT-BANGALORE 的 PG 文凭全栈
了解更多