PHP – 数组和对象相互转换,StdClass Object 转 Array

2019年10月26日 107

数组转 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,使用到了 QQ 天气 API 接口的 JSON 数据,往往单纯通过 json_decode 方法解析获得得数值一般并非数组,
而是带有 stdClass Objec 的对象字符串,
blob
这时如果我们想获取相应的 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);

我用的是是第二种,简单也方便,打印数据,

var_dump($data);

blob
这样就和平常的数组一样了,也方便使用了,例:

echo $data['data']['alarm'][0]['info'];
1:如非特殊说明,本站对提供的源码不拥有任何权利,其版权归原著者拥有。请在下载后24小时之内自觉删除。
2:该资源只为研究、学习所提供,任何涉及商业盈利目的均不得使用,若需要,请购买正版,否则产生的一切后果将由您自己承担,与本站无关!
3:本网站所有资源均为作者提供和网友推荐收集整理而来,不保证其完整性以及安全性。如有侵犯你版权的,请来信(邮箱:lwvip_com@qq.com)指出,本站将立即改正。
本文地址:老巫源码 » PHP – 数组和对象相互转换,StdClass Object 转 Array

全屏

切换