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‘];//[上海市] [嘉定]的震徽电子已收件 电话:暂无

原文地址:https://www.cnblogs.com/zhangqie/p/8241908.html

时间: 2024-08-02 13:55:47

PHP------数组和对象相互转化,stdClass Object转array的相关文章

PHP中把stdClass Object转array的几个方法

方法一: 复制代码代码如下: //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; } 方法二: 复制代码代

PHP stdClass Object转array

用json传过来的数组并不是标准的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);    }   }   ret

把stdclass object 转化成数组

今天从接口上获取数据,用json_decode转化成发现是一个stdClass Object .例子: 从网上搜到一些方法,我感觉好用的解决方案有两个://PHP stdClass Object转array  function object_array($test) {      if(is_object($array)) {          $array = (array)$array;       } if(is_array($array)) {           foreach($ar

原创-整理了下常用的js数组 、对象、数字、字符串的操作方法

终于整理好了...主要是一些常用的函数,包含es6和es5的所有常用的,吧一些不常用的全部砍掉,省的大家看的费事.发现这个到博客上面有点乱.给个百度云地址:https://pan.baidu.com/s/1MwMdW5P8IOoyGRYUQ2dBtQ 直接下就可以 字符串方法 : es6 include 返回布尔值,表示是否找到了参数字符串. 第二个参数表示开始搜索位置 startsWith 返回布尔值,表示参数字符串是否在原字符串的头部. 第二个参数表示开始搜索位置 endsWith 返回布尔

如何判断一个对象是数组还是对象

一.typeof判断数据类型(判断数组跟对象都返回object) console.log(typeof null); // "object" console.log(typeof function () { return 1; }); // "function" console.log(typeof '梦龙小站'); // "string" console.log(typeof 1); // "number" console.

vue_如何判断变量是数组还是对象

一.typeof判断数据类型(判断数组跟对象都返回object) console.log(typeof null); // "object" console.log(typeof function () { return 1; }); // "function" console.log(typeof '梦龙小站'); // "string" console.log(typeof 1); // "number" console.

php如何遍历多维的stdClass Object 对象,php的转换成数组的函数只能转换外面一丛数组

php如何遍历多维的stdClass Object 对象,php的转换成数组的函数只能转换外面一丛数组 (2012-09-10 19:58:49) 标签: 杂谈 分类: 网页基础知识 function objtoarr($obj){$ret = array();foreach($obj as $key =>$value){if(gettype($value) == 'array' || gettype($value) == 'object'){$ret[$key] = objtoarr($val

php深入学习笔记一(数组与对象之间的相互转化)

//1. 对象的遍历 $obj = new stdClass(); $obj->name = "lihua"; $obj->sex = "nan"; $obj->age = 12; $obj->address = "lihua in hanghzou!"; foreach($obj as $v){ echo $v."<br/>"; } /* lihua nan 12 lihua in han

javascript 判断变量 是否为空null,undefined, 空数组,空对象(空Object),字符串是否为空或全由空白字符组成,数字是否为0,布尔是否为false。

javascript 判断变量 是否为空null,undefined, 空数组,空对象,空Object,字符串是否为空或全由空白字符组成,数字是否为0,布尔是否为false.由于Object没有length用 Object.keys()适用于数组,对象 返回可枚举的实例属性名组成的数组来判断是否为空. 利用逻辑判断中or (||)只要有一项为真则不再计算下一个表达式 来实现不管传入的参数是何种类型.只要符合我对空的定义即返回true. 1 function IsNothing(e) { 2 va