上篇文章说了一个关于在json格式字符串转数组时出现错误的解决方案,而这篇文章就来详细的说一说在php中json字符串与数组之间的转换的方法。

php json字符串转成数组的方法

使用php内置函数 json_decode(),将一个json字符串转成数组,但一定要注意的时 json_decode() 函数的第二个参数必需设置为 true 。可以参考以下的代码。

php代码:

<?php
$json = '{"name":"飞鸟慕鱼","host":"feiniaomy.com","author":"mochu"}';
//json_decode() 第二个参数为true
$arr = json_decode($json,true);
var_dump($arr);
?>

打印结果:

array(3) {
  ["name"]=>
  string(12) "飞鸟慕鱼"
  ["host"]=>
  string(13) "feiniaomy.com"
  ["author"]=>
  string(5) "mochu"
}

PS:json_decode() 函数的第二个参数如果不设置的话,被处理的json字符串只会转换成对像。

php 数组转换成json字符串

php的内置函数 json_encode(),可以将对像或json字符串,转换成数组。

php代码:

<?php
$arr = array(
    'host' => 'feiniaomy.com',
    'author' => 'mochu'
);
$json = json_encode($arr);
echo $json;
?>

输出结果:

{"host":"feiniaomy.com","author":"mochu"}