将一个类数组对象转化为数组的几种方法

将一个类数组对象转化为数组的几种方法,第1张

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

AJAX提交到后台的JSON字串经decode解码后为一个对象数组,
为此必须转为普通数组后才能进行后续处理,
此函数支持多维数组处理。

@param array
@return array
/
function objarray_to_array($obj) {
$ret = array();
foreach ($obj as $key => $value) {
if (gettype($value) == "array" || gettype($value) == "object"){
$ret[$key] = objarray_to_array($value);
}else{
$ret[$key] = $value;
}
}
return $ret;
}

后台最好使用第三方的JSON解析包,fastJson Json-lib什么的。(自己下载个jar包就ok了)

前台数组presonArr要让后台接收的话,需要序列化成字符串传到后台。

用 网页链接这里的JSON 或json2js比较方便转换。

自己下载一下

不过值得一提的是,一般前台很少往后台传JSON格式的数据。

用第三方包解析的话开销会大一些,一般都是后台往前台传数据时使用第三方包,把对象转成JSON字符串,节省前台解析的开销。

不如直接传,或者;分割的字符串,自己后台用String的split分割成字符串成数组再来循环。

$post获取后台返回过来的数据都是String类型的。所以你后台返回List<String> 数组String什么的都要先转成String类型,List<String>转成String就是[String1,String,],而数组则是类似LjavalangString;@7b1d52这样的值,如果不清楚$post返回过来的数据是什么,你后台可以打印下你返回过来的对象。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13016698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存