PHP json_encode 变量如何转换成数组?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP json_encode 变量如何转换成数组?相关的知识,希望对你有一定的参考价值。

使用一个php API,返回一组数据,使用如下命令 $data= json_encode($response); echo $data; 得到结果: "success":true,"a":"1","b":"2","c":false,"d":false 或者"success":false,"a":"1","b":"2","c":false,"d":false 我想执行如下判断,如果上面结果中 success是true,输出数组变量a,success是false,输出数组变量b,类似如下代码: if ($data->success) $e = $data->a; echo $e; else $e = $data->b; echo $e; 请问如何把变量$data="success":true,"a":"1","b":"2","c":false,"d":false转换成数组?或者让上述代码正确运行?

参考技术A 1json_decode(json数据, true); //得到一个数组
json_encode()函数和json_decode()是一对函数
作用刚好相反
一个是将数组转换成json数据
一个是将json数据转换成数组

PHP二维数组转换成一维数组,一个变量多个二维数组转换成一维数组,PHP二维数组(或任意维数组)转换成一维数组的方法汇总,array_reduce(); array_walk_recursive()

方法汇总:

1、 array_reduce函数法

//用array_reduce()函数是较为快捷的方法:

$result = array_reduce($user, function ($result, $value) {
    return array_merge($result, array_values($value));
}, array())

2、 array_walk_recursive函数法

//用array_walk_recursive()函数就非常灵活,可以把任意维度的数组转换成一维数组。

$result = [];
array_walk_recursive($user, function($value) use (&$result) {
    array_push($result, $value);
});

 

3、 array_map函数法

//用array_map和array_reduce函数的方法类似,如下:

$result = [];
array_map(function ($value) use (&$result) {
    $result = array_merge($result, array_values($value));
}, $user);

 

 

内容详解:

技术图片

 

 

 技术图片

 

以上是关于PHP json_encode 变量如何转换成数组?的主要内容,如果未能解决你的问题,请参考以下文章

php解决json_encode输出GB2312中文问题 (数组)

php数组转换成json格式后汉字怎么就被解析成字母了啊

如何将php的cookie转化成对象或数组

php json_encode() 输出乱码问题

php如何将mysql数据转为数组

PHP json_encode转换空数组为对象