📅  最后修改于: 2023-12-03 15:33:34.147000             🧑  作者: Mango
json_encode()
是 PHP 5.2.0 以后才有的函数,它用于将 PHP 对象转换成 JSON 格式的字符串。
在 AJAX 开发中,PHP 可以通过 json_encode()
将数组或对象转换成 JSON 格式字符串返回,供前端 JavaScript 使用。
string json_encode(mixed $value [, int $options = 0 [, int $depth = 512]]);
参数说明:
$value
:必需,要编码成 JSON 格式的值。
$options
:可选,用于设置编码选项。具体值如下:
JSON_FORCE_OBJECT
:默认只将关联数组转成 JSON Object,这个参数强制为所有数组都转换成 JSON Object。
JSON_HEX_QUOT
:所有的双引号都将编码成 \"
。
JSON_HEX_TAG
:所有的 <
和 >
转换成 \u003C
和 \u003E
。
JSON_HEX_AMP
:所有 &
转换成 \u0026
。
JSON_HEX_APOS
:所有的单引号都将编码成 \'
。
JSON_NUMERIC_CHECK
:把字符串编码成数字。
JSON_PRETTY_PRINT
:输出更美观格式化的 JSON。
JSON_UNESCAPED_UNICODE
:默认只有 ASCII 码字符被编码成 Unicode 八进制形式,这个参数可以全部不编码,即直接输出原字符。
$depth
:可选,定义对象或数组的嵌套深度。
json_encode()
函数返回 JSON 格式的字符串,如果出错则返回 false。
$arr = array("username" => "tom", "age" => 18, "gender" => "male");
echo json_encode($arr);
输出:
{"username":"tom","age":18,"gender":"male"}
$arr = array("username" => "tom", "age" => 18, "gender" => "male");
echo json_encode($arr, JSON_PRETTY_PRINT);
输出:
{
"username": "tom",
"age": 18,
"gender": "male"
}
json_encode()
仅支持 UTF-8 编码的数据。json_encode()
无法正确输出。json_encode()
函数在 PHP 5.2.0 中加入,需要 PHP 5.2.0 及以上版本才能使用。json_encode()
函数在 PHP 5.5.0 中修补了一个安全漏洞,建议使用 PHP 5.5.0 以上版本。