您的位置:首页 > 编程语言 > PHP开发

php json_encode()与json_decode()的区别

2018-03-17 16:42 417 查看
json_encode():该函数主要用来将数组或对象,转换为json格式.注意:json只接受utf-8编码的字符,json_encode()的参数必须是utf-8编码。
例子①:$array = array("a"=>"is a","b"=>"is b");echo json_encode($array);
输出结果为: {"a":"is a","b":"is b"}
例子②:class person
{
    public $name;
    public $age;
    public $height;
    function __construct($name,$age,$height)
    {
        $this->name = $name;
        $this->age = $age;
        $this->height = $height;   
    }  
}
$obj = new person("zhangsan",20,100);
$foo_json = json_encode($obj);
echo $foo_json;
输出结果为(类中的属性为私有变量的时候,则不会输出):{"name":"zhangsan","age":20,"height":100}

json_decode():该函数用于将json文本转换为相应的php数据结构转换成对象:$json = '{"a":"hello","b":"world","c":"zhangsan","d":20,"e":170}';
var_dump(json_decode($json));
输出结果为:object(stdClass)[1]
  public 'a' => string 'hello' (length=5)
  public 'b' => string 'world' (length=5)
  public 'c' => string 'zhangsan' (length=8)
  public 'd' => int 20
  public 'e' => int 170
转换成数组:$json = '{"a":"hello","b":"world","c":"zhangsan","d":20,"e":170}';
var_dump(json_decode($json,true));
输出结果为:array (size=5)
  'a' => string 'hello' (length=5)
  'b' => string 'world' (length=5)
  'c' => string 'zhangsan' (length=8)
  'd' => int 20
  'e' => int 170
记住,数组不可以使用->访问属性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: