php怎么将数据转化为json格式
在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&', "xc3xa9"); 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视频教程》