zoukankan      html  css  js  c++  java
  • 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'];//[上海市] [嘉定]的震徽电子已收件 电话:暂无
  • 相关阅读:
    扩展的friend语法
    常量表达式
    字符串过滤,排序输出数字的问题
    decltype类型声明- 现代C++新特性总结
    auto类型-现代C++新特性
    指针相关总结2
    指针相关总结1
    发现XMind一个超级牛逼的功能
    空类指针为什么可以调用类的成员函数 以及 A(){}和A();
    SSAS父子层次结构的增强-UnaryOperatorColumn属性
  • 原文地址:https://www.cnblogs.com/zhangqie/p/8241908.html
Copyright © 2011-2022 走看看