您的位置:首页 > 其它

数组与对象相互转换

2016-01-20 13:58 197 查看
<?php
/**
* 对象和数组的相互转化
* @link http://www.phpddt.com PHP分享平台
*/
class Test{
public $a;
public $b;
public function __construct($a) {
$this->a = $a;
}
}

//对象转数组,使用get_object_vars返回对象属性组成的数组
function objectToArray($obj){
$arr = is_object($obj) ? get_object_vars($obj) : $obj;
if(is_array($arr)){
return array_map(__FUNCTION__, $arr);
}else{
return $arr;
}
}

//数组转对象
function arrayToObject($arr){
if(is_array($arr)){
return (object) array_map(__FUNCTION__, $arr);
}else{
return $arr;
}
}

$test = new Test('test1');
$test->b = new Test('test2');

print_r($test);
$array = objectToArray($test);
print_r($array);
$object = arrayToObject($array);
print_r($object);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: