starxzj 发表于 2017-4-3 10:52:09

php中数组和对象相互转换

  1、强制转换对象为数组

$arr = (array)$obj;
  如下例子转换结果:

  用print_r打印出对象

stdClass Object
(
=> main
=>
=>
=>
=> Array
(
)
=> Array
(
)
=> 0
)
  强制转换后的数组

Array
(
=> main
=>
=>
=>
=> Array
(
)
=> Array
(
)
=> 0
)
  方法二:用stdClass转换数组为对象

$arr = array();
$arr['a'] = 1;
$arr['b'] = 2;
$arr['c'] = 3;

  用stdClass转换后:

$object   = new StdClass;
$object->a = 1;
$object->b = 2;
$object->c = 3;

  stdClass是PHP的一个基类,所有的类几乎都继承这个类,所以任何时候都可以被new,可以让这个变量成为一个object。同时,这个基类又有一个特殊的地方,就是没有方法。

  3、一个类:ArrayObject,可以直接将数组转化为对象


$array = array('1' => 'one',
'2' => 'two',
'3' => 'three');
$arrayobject = new ArrayObject($array);
var_dump($arrayobject);

  结果:

object(ArrayObject)#1 (3) {
=>
string(3) "one"
=>
string(3) "two"
=>
string(5) "three"
}
页: [1]
查看完整版本: php中数组和对象相互转换