在PHP中将对象转换为关联数组

对象是类的实例。它只是一个类的样本,并分配了内存。数组是一种数据结构,它在一个名称中存储一个或多个类似类型的值,但关联数组不同于简单的PHP数组。包含字符串索引的数组称为关联数组。它将元素值与键值关联存储,而不是按线性索引顺序存储。 方法1:使用json_解码和json_编码方法: json_decode函数接受json编码的字符串并将其转换为PHP变量,另一方面,json_encode返回给定值的json编码字符串。 语法:

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

例子:

php

<?php
class sample {
/* Member variables */
var $var1 ;
var $var2 ;
function __construct( $par1 , $par2 )
{
$this ->var1 = $par1 ;
$this ->var2 = $par2 ;
}
}
// Creating the object
$myObj = new sample(1000, "second" );
echo "Before conversion: " ;
var_dump( $myObj );
// Converting object to associative array
$myArray = json_decode(json_encode( $myObj ), true);
echo "After conversion: " ;
var_dump( $myArray );
?>


输出:

Before conversion: 
object(sample)#1 (2) {
  ["var1"]=>
  int(1000)
  ["var2"]=>
  string(6) "second"
}
After conversion: 
array(2) {
  ["var1"]=>
  int(1000)
  ["var2"]=>
  string(6) "second"
}

方法2:将对象类型转换为数组: 类型转换是将一个数据类型变量转换成不同数据类型的方法,它只是数据类型的显式转换。它可以使用PHP支持的类型转换规则将PHP对象转换为数组。 语法:

$myArray = (array) $myObj;

例子:

php

<?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 ;
}
}
// Create myBag object
$myBag = new bag( "Mobile" , "Charger" , "Cable" );
echo "Before conversion : " ;
var_dump( $myBag );
// Converting object to an array
$myBagArray = ( array ) $myBag ;
echo "After conversion : " ;
var_dump( $myBagArray );
?>


输出:

Before conversion : 
object(bag)#1 (3) {
  ["item1"]=>
  string(6) "Mobile"
  ["item2"]=>
  string(7) "Charger"
  ["item3"]=>
  string(5) "Cable"
}
After conversion : 
array(3) {
  ["item1"]=>
  string(6) "Mobile"
  ["item2"]=>
  string(7) "Charger"
  ["item3"]=>
  string(5) "Cable"
}

PHP是一种专门为web开发设计的服务器端脚本语言。通过以下步骤,您可以从头开始学习PHP PHP的教程 PHP示例 .

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享