PHP------数组和对象相互转化,stdClass Object转array
Posted 切切歆语
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP------数组和对象相互转化,stdClass Object转array相关的知识,希望对你有一定的参考价值。
数组转JSON
php json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。
JSON转数组
PHP json_decode() 函数用于对 JSON 格式的字符串进行解码,并转换为 PHP 变量。
$arr = array(\'a\' => 1, \'b\' => 2, \'c\' => 3, \'d\' => 4, \'e\' => 5); echo json_encode($arr);
结果: {"a":1,"b":2,"c":3,"d":4,"e":5}
反之亦然。
第三方接口解析(stdClass Object转array)
最近开发商城,使用到了物流的第三方API接口的JSON数据,往往单纯通过json_decode方法解析获得得数值一般并非数组,
而是带有stdClass Objec的对象字符串,这时如果我们想获取相应的PHP数组时,需通过以下几种方法来获取。
//PHP stdClass Object转array function object_array($array) { if(is_object($array)) { $array = (array)$array; } if(is_array($array)) { foreach($array as $key=>$value) { $array[$key] = object_array($value); } } return $array; }
因为json_decode()函数可以接受两个参数:
当 $data= json_decode($object); //得到的是 object 上面数据类型。
当 $data= json_decode($object, ture); //得到的则是数组。
$data= json_decode($json, ture);
本人使用的是第二种,简单也方便,打印数据
print_array($data);
这样就和平常的数组一样了,也方便使用了,例:
echo $data[\'data\'][0][\'traces\'][0][\'desc\'];//[上海市] [嘉定]的震徽电子已收件 电话:暂无
以上是关于PHP------数组和对象相互转化,stdClass Object转array的主要内容,如果未能解决你的问题,请参考以下文章
Java对象与byte[]数组之间的相互转化,压缩解压缩操作
Java对象与byte[]数组之间的相互转化,压缩解压缩操作