天境之韫
- 天境之韫 2016-11-22 已签到连续签到2天,获得了10个金钱
- 天境之韫 2016-11-21 已签到连续签到1天,获得了5个金钱
- 天境之韫 赞了回答
$arr = array('id'=>1,'name'=>'aaa');
$arr = json_encode($arr);
$arr = json_decode($arr);
var_dump($arr);object(stdClass)[1]
public 'id' => int 1
public 'name' => string 'aaa' (length=3) /**
- 对象和数组的相互转化
- @link
*/
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);核心在于使用了魔术常量和递归函数,代码简介明了,可以标为最佳答案了
- 天境之韫 回答了问题 Yii2 数组转对象
/**
- 对象和数组的相互转化
- @link
*/
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); - 天境之韫 2016-11-18 已签到连续签到13天,获得了20个金钱
- 天境之韫 赞了说说又是周五时
- 天境之韫 赞了说说出太阳了。明天会更好。
- 天境之韫 赞了说说周五了
- 天境之韫 赞了说说上海热的有些反常