将对象转换为数组
我们推荐的第二种方法是将对象转换为数组。
通常,类型转换考虑将一种数据类型变量用于另一种数据类型。
简单地说,它是数据类型的显式转换。
有了它,可以借助类型转换规则将 PHP 对象转换为数组。
语法如下:
$myArray = (array) $myObj;
该示例将如下所示:
<?php class bag { /* Member variables */ var $item1; var $item2; var $item3; function __construct( $par1, $par2, $par3) { $this->item1 = $par1; $this->item2 = $par2; $this->item3 = $par3; } } //创建 myBag 对象 $myBag = new bag("Mobile", "Charger", "Cable"); echo "转换前 : \n"; var_dump($myBag); //Coverting object to an array $myBagArray = (array)$myBag; echo "转换后 : \n"; var_dump($myBagArray); ?>
输出将如下所示:
转换前 : object(bag)#1 (3) { ["item1"]=> string() "Mobile" ["item2"]=> string() "Charger" ["item3"]=> string() "Cable" } 转换后 : array() { ["item1"]=> string() "Mobile" ["item2"]=> string() "Charger" ["item3"]=> string() "Cable" }
使用 json_decode 和 json_encode
第一种方法是应用 json_decode 和 json_encode 函数。
第一个函数能够接受 JSON 编码的字符串并将其转换为 PHP 变量。
第二个返回特定值的 JSON 编码字符串。
语法如下所示:
$myArray = json_decode(json_encode($object), true);
为了更好地理解,请查看以下示例:
<?php class sample { /* Member variables */ var $var1; var $var2; function __construct( $par1, $par2 ) { $this->var1 = $par1; $this->var2 = $par2; } } //创建一个对象 $myObj = new sample(, "second"); echo "转换前: \n"; var_dump($myObj); //将对象转换为关联数组 $myArray = json_decode(json_encode($myObj), true); echo "转换后: \n"; var_dump($myArray); ?>
它的结果是这样的:
转换前: object(sample)#1 (2) { ["var1"]=> int() ["var2"]=> string() "second" } 转换后: array() { ["var1"]=> int() ["var2"]=> string() "second" }
此代码将解释将 PHP 对象转换为关联数组的方法。
在下面,我们可以找到实现该目标的有效方法。
什么是关联数组
一个对象被认为是一个类的实例。
它是一个类的基础并分配了内存。
该数据结构能够在单个名称中存储一种或者多种相似类型的值。
关联数组是不同的东西。
关联数组被认为是包含字符串索引的数组。
日期:2020-06-02 22:15:46 来源:oir作者:oir