一、数组 => 对象
1. new arrayobject()
<?
$obj = new ArrayObject( $array );
?>
2. stdclass
<?
$arr = array('a'=>1, 'b'=>2, 'c'=>3);
$object = new StdClass;
$object->a = 1;
$object->b = 2;
$object->c = 3;
?>
stdClass没有方法
3.自定义函数
4.强制转换
<?
$obj = (object) $arr;
?>
二、对象 => 数组
1. 强制转换
<?
$arr = (array) $obj;
?>
private(a+...),protected(*+...)有问题
2.自定义函数
<?
function obj2array( $o ){
$_arr = is_object($o) ? get_object_vars($o) : $o;
foreach ($_arr as $key => $val){
$val = (is_array($val) || is_object($val)) ? $this->object_to_array($val) : $val;
$arr[$key] = $val;
}
return $arr;
}
?>