将对象转换为数组

我们推荐的第二种方法是将对象转换为数组。
通常,类型转换考虑将一种数据类型变量用于另一种数据类型。
简单地说,它是数据类型的显式转换。
有了它,可以借助类型转换规则将 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 对象转换为关联数组

此代码将解释将 PHP 对象转换为关联数组的方法。

在下面,我们可以找到实现该目标的有效方法。

什么是关联数组

一个对象被认为是一个类的实例。
它是一个类的基础并分配了内存。

该数据结构能够在单个名称中存储一种或者多种相似类型的值。
关联数组是不同的东西。
关联数组被认为是包含字符串索引的数组。

日期:2020-06-02 22:15:46 来源:oir作者:oir