PHP json_encode() 函数

定义和用法

json_encode() 函数用于将值编码为 JSON 格式。

实例

例子 1

如何将关联数组编码为 JSON 对象:

<?php
$age = array("Bill"=>35, "Elon"=>37, "Steve"=>43);

echo json_encode($age);
?>

运行实例

例子 2

如何将索引数组编码为 JSON 数组:

<?php
$cars = array("Volvo", "BMW", "Toyota");

echo json_encode($cars);
?>

运行实例

语法

json_encode(value, options, depth)
参数 描述
value 必需。指定要编码的值。
options 可选。指定位掩码(JSON_FORCE_OBJECT、JSON_HEX_QUOT、JSON_HEX_TAG、JSON_HEX_AMP、JSON_HEX_APOS、JSON_INVALID_UTF8_IGNORE、JSON_INVALID_UTF8_SUBSTITUTE、JSON_NUMERIC_CHECK、JSON_PARTIAL_OUTPUT_ON_ERROR、JSON_PRESERVE_ZERO_FRACTION、JSON_PRETTY_PRINT、JSON_UNESC APED_LINE_TERMINATORS、JSON_UNESCAPED_SLASHES、JSON_UNESCAPED_UNICODE、JSON_THROW_ON_ERROR)
depth 可选。指定最大深度。

技术细节

返回值: 成功时返回 JSON 编码的字符串。失败时返回 FALSE。
PHP 版本: 5.2+

PHP 更新日志:

PHP 7.3:添加了 JSON_THROWN_ON_ERROR 选项

PHP 7.2:添加了 JSON_INVALID_UTF8_IGNORE 和 JSON_INVALID_UTF8_SUBSTITUTE 选项

PHP 7.1:添加了 JSON_UNESCAPED_LINE_TERMINATORS 选项

PHP 5.6:添加了 JSON_PRESERVE_ZERO_FRACTION 选项

PHP 5.5:添加了 depth 参数

PHP 5.5:添加了 JSON_PARTIAL_OUTPUT_ON_ERROR 选项

PHP 5.5:将失败时的返回值从 null 更改为 FALSE

PHP 5.4:添加了 JSON_PRETTY_PRINT、JSON_UNESCAPED_SLASHES 和 JSON_UNESCAPED_UNICODE 选项

PHP 5.3:添加了 JSON_FORCE_OBJECT、JSON_HEX_AMP、JSON_HEX_APOS、JSON_HEX_QUOT、JSON_HEX_TAG 和 JSON_NUMERIC_CHECK 选项

PHP 5.3:添加了 options 参数