您的位置:首页 > 编程语言 > PHP开发

php对象转化为数组

2015-07-28 20:32 661 查看
有如下对象$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
)

)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息