本文主要是介绍json_encode() AND json_decode(),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
string json_encode ( mixed $value [, int $options = 0 ] ):该函数主要用来将数组和对象,转换为json格式。$value为要转换的数据,除了resource 类型之外,可以为任何数据类型。
PHP支持关联和索引数组,但由于javascript不支持关联数组,所以json_encode()只将索引数组(indexed array)转为数组格式,而将关联数组(associative array)转为对象格式。
例1: 索引数组
$arr = array(1,2,3,4,5,6);
echo json_encode($arr);
——> [1,2,3,4,5,6]
例2: 关联数组
$arr = array(
1 => ‘q’,
2 => ‘w’,
3 => ‘e'
);
echo json_encode($arr);
——> {“1”:’q’, “2”:’w’, “3”:’e'}
mixed json_decode ( string $json [, bool $assoc ] ),接受一个JSON 格式的字符串并且把它转换为 PHP 变量
例1:
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
json_decode($json);
——>输出为 对象
json_decode($json, true);
——> 输出为 数组
以下是3个错误的json串:
$bad_json = "{ 'bar': 'baz' } ” ; json的分隔符(delimiter)只允许使用双引号,不能使用单引号。
$bad_json = '{ bar: "baz" } ’ ; json名值对的”名”(冒号左边的部分),任何情况下都必须使用双引号。
$bad_json = '{ "bar": "baz", } ’; 最后一个值之后不能添加逗号(trailing comma)。
这篇关于json_encode() AND json_decode()的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!