[PHP]对象数组和普通数组总结

1.碰到前台将JSON格式数据传递到服务器后台,经php的json_decode函数转换成的数组由于为对象数组,php程序无法对数据进行正常处理的情况,为此需要开发一个PHP回调函数(objarray_to_array)将对象数组转换成普通数组。

代码如下:

//对象数组转普通数组

function object_to_array($obj){

$_arr = is_object($obj) ? get_object_vars($obj) :$obj;

foreach ($_arr as $key=>$val){

$val = (is_array($val) || is_object($val)) ? $this->object_to_array($val):$val;

$arr[$key] = $val;

}

return $arr;

}

2.关于数组转换或提取数据内容,代码如下:

function objarray_to_array($str) {

$str=str_replace("{", "", $str);

$str=str_replace("}", "", $str);

$str=str_replace("[", "", $str);

$str=str_replace("]", "", $str);

$str=str_replace(":", ":", $str);

$str=str_replace("\"", "", $str);

$userInfo = array( );

$info =explode(',', $str);

foreach ($info as $key => $value) {

$obj = trim($value);

$obj1 = explode(':', $obj);

$key=$obj1[0];

$value=$obj1[1];

$userInfo[$key]=$value;

}

return $userInfo;

}