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]