在PHP中,可以使用json_encode()函数将数据转化为json格式,该函数能对PHP变量进行JSON编码,返回JSON格式数据,语法“json_encode($value[,$options])”;如果转化失败,则会返回FALSE。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
在PHP中,可以使用json_encode()函数将数据转化为json格式。
json_encode()函数可以对PHP变量进行JSON编码,返回JSON格式数据;如果转化失败,则会返回FALSE。
json_encode ( $value [, $options = 0 ] )
参数
value: 要编码的值。该函数只对 UTF-8 编码的数据有效。
options:由以下常量组成的二进制掩码:JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK,JSON_PRETTY_PRINT, JSON_UnesCAPED_SLASHES, JSON_FORCE_OBJECT
说明:
返回字符串类型,包含了 value 值 JSON 形式的表示。
编码受传入的 options 参数影响,此外浮点值的编码依赖于 serialize_precision。
示例1:将数组转化为json格式
<?PHP header('content-type:text/html;charset=utf-8'); $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); var_dump(json_encode($arr)); ?>
示例2:将 PHP 对象转换为 JSON 格式数据
<?PHP header('content-type:text/html;charset=utf-8'); class Emp { public $name = ; public $hobbies = ; public $birthdate = ; } $e = new Emp(); $e->name = sachin; $e->hobbies = sports; $e->birthdate = date('m/d/Y h:i:s a', strtotime(8/5/1974 12:20:03)); echo json_encode($e); ?>
示例3: json_encode() 函数中 options 参数的用法
<?PHP header('content-type:text/html;charset=utf-8'); $a = array('<foo>','bar','baz','&blong&', \xc3\xa9); echo normal: , json_encode($a), <br>; echo Tags: , json_encode($a, JSON_HEX_TAG), <br>; echo Apos: , json_encode($a, JSON_HEX_APOS), <br>; echo Quot: , json_encode($a, JSON_HEX_QUOT), <br>; echo Amp: , json_encode($a, JSON_HEX_AMP), <br>; echo Unicode: , json_encode($a, JSON_UnesCAPED_UNICODE), <br>; echo All: , json_encode($a, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UnesCAPED_UNICODE), <br><br>; $b = array(); echo Empty array output as array: , json_encode($b), <br>; echo Empty array output as object: , json_encode($b, JSON_FORCE_OBJECT), <br><br>; $c = array(array(1,2,3)); echo Non-associative array output as array: , json_encode($c), <br>; echo Non-associative array output as object: , json_encode($c, JSON_FORCE_OBJECT), <br><br>; $d = array('foo' => 'bar', 'baz' => 'long'); echo Associative array always output as object: , json_encode($d), <br>; echo Associative array always output as object: , json_encode($d, JSON_FORCE_OBJECT), <br><br>; ?>
推荐学习:《PHP教程》