(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL json >= 1.2.0)
json_encode —返回值的 JSON 表示形式
json_encode(mixed $value, int $flags = 0, int $depth = 512): string|false
返回一个字符串,其中包含所提供 .value
编码受提供的编码影响,此外,浮点值的编码取决于serialize_precision的值。flags
value
正在编码。可以是除资源以外的任何类型。value
所有字符串数据都必须采用 UTF-8 编码。
注:
PHP 实现了原始» RFC 7159中指定的 JSON 超集。
flags
位掩码由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_UNESCAPED_LINE_TERMINATORS,JSON_UNESCAPED_SLASHES,JSON_UNESCAPED_UNICODE,JSON_THROW_ON_ERROR。 JSON 常量页面上描述了这些常量的行为。
depth
设置最大深度。必须大于零。
成功时返回 JSON 编码字符串,失败时返回false
字符串。
版本 | 描述 |
---|---|
7.3.0 | 添加了JSON_THROW_ON_ERROR。 flags |
7.2.0 | 添加了JSON_INVALID_UTF8_IGNORE 和JSON_INVALID_UTF8_SUBSTITUTE。 flags |
7.1.0 | 添加了JSON_UNESCAPED_LINE_TERMINATORS。 flags |
7.1.0 | 编码双精度值时使用serialize_precision代替精度。 |
示例 #1 json_encode()示例
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
上面的示例将输出:
{"a":1,"b":2,"c":3,"d":4,"e":5}