PHP多层数组和对象转换实例代码
多层数组和对象转换为使用简单,易于处理WebService多层数组和对象的变换简单(数组)和(对象)只能处理单层数据,并且没有权力用于多层数组和对象转换。
通过json_decode(json_encode(元对象)),对象可以转化为一次数组,但会在对象被遇到的问题非UTF-8编码的非ASCII字符,如GBK的中文,和json_encode性能和解码也是值得考虑的。
以下代码:
复制代码代码如下所示:
< PHP
功能objecttoarray($){
如果(is_object($)){
获取给定的对象的属性。
get_object_vars功能 / /
a get_object_vars美元($);
}
如果(is_array($)){
*
*返回数组转换为对象
*使用__function__(幻方常数)
*递归调用
* /
返回array_map(__function__,$);
}
{其他
返回数组
返回$ D;
}
}
功能arraytoobject($){
如果(is_array($)){
*
*返回数组转换为对象
*使用__function__(幻方常数)
*递归调用
* /
返回(对象)array_map(__function__,$);
}
{其他
返回对象
返回$ D;
}
}
/ /用途:
新的stdClass对象 / /创造
$它=新stdClass;
一些测试数据
测试数据;
为初始化->酒吧=新stdClass;
为初始化->酒吧-> baaz =测试;
为初始化->酒吧-> fooz =新stdClass;
为初始化->酒吧-> fooz ->巴兹=再次测试;
为初始化->福科斯=只是测试;
将数组转换为对象,然后将对象返回数组
$array = objecttoarray($它);
对象= arraytoobject美元(数组);
对象和数组打印
print_r($它);
;
print_r(数组);
;
print_r(元对象);
>