有如下对象$obj:
stdClass Object
(
[name] => zhangsan
[age] => 25
[sex] => 1
[innerobj] => stdClass Object
(
[name] => wangwu
[age] => 24
)
)
1.使用 (array) 转化:
print_r((array) $obj);
得:
Array
(
[name] => zhangsan
[age] => 25
[sex] => 1
[innerobj] => stdClass Object
(
[name] => wangwu
[age] => 24
)
)
(array)只能将一维对象转化为数组;
2.使用自定义函数:
function obj2arr($obj){
$arr = array();
foreach($obj as $k => $v){
if(!is_object($v)){
$arr[$k] = $v;
}else{
$arr[$k] = obj2arr($v);
}
}
return $arr;
}
print_r(obj2arr($obj));
得:
Array
(
[name] => zhangsan
[age] => 25
[sex] => 1
[innerobj] => Array
(
[name] => wangwu
[age] => 24
)
)
3.使用json格式转化:
print_r(json_decode(json_encode($obj),true));得:
Array
(
[name] => zhangsan
[age] => 25
[sex] => 1
[innerobj] => Array
(
[name] => wangwu
[age] => 24
)
)

被折叠的 条评论
为什么被折叠?



