关于json_encode和json_decode()参数

http://php.net/manual/zh/json.constants.php

一直以为这两个函数参数只能传一下,原来是或以传多个,还有简写。

json_encode($arr,448)等于设置了多个参数。
448=64+128+256 64即不转换\ 128 不转换\n \r \t之类的空白 256中文输出

JSON_UNESCAPED_SLASHES => 64
JSON_PRETTY_PRINT => 128
JSON_UNESCAPED_UNICODE => 256

json_encode() 具体参数

  • JSON_HEX_TAG(integer)
    所有的 < 和 > 转换成 \u003C 和 \u003E。 自 PHP 5.3.0 起生效。
  • JSON_HEX_AMP (integer)
    所有的 & 转换成 \u0026。 自 PHP 5.3.0 起生效。
  • JSON_HEX_APOS (integer)
    所有的 ' 转换成 \u0027。 自 PHP 5.3.0 起生效。
  • JSON_HEX_QUOT (integer)
    所有的 " 转换成 \u0022。 自 PHP 5.3.0 起生效。
  • JSON_FORCE_OBJECT (integer)
    使一个非关联数组输出一个类(Object)而非数组。 在数组为空而接受者需要一个类(Object)的时候尤其有用。 自 PHP 5.3.0 起生效。
  • JSON_NUMERIC_CHECK (integer)
    将所有数字字符串编码成数字(numbers)。 自 PHP 5.3.3 起生效。
  • JSON_PRETTY_PRINT (integer)
    用空白字符格式化返回的数据。 自 PHP 5.4.0 起生效。
  • JSON_UNESCAPED_SLASHES (integer)
    不要编码 /。 自 PHP 5.4.0 起生效。
  • JSON_UNESCAPED_UNICODE (integer)
    以字面编码多字节 Unicode 字符(默认是编码成 \uXXXX)。 自 PHP 5.4.0 起生效。
  • JSON_PARTIAL_OUTPUT_ON_ERROR (integer)
    Substitute some unencodable values instead of failing. Available since PHP 5.5.0.
  • JSON_PRESERVE_ZERO_FRACTION (integer)
    Ensures that float values are always encoded as a float value. Available since PHP 5.6.6.
  • JSON_UNESCAPED_LINE_TERMINATORS (integer)
    The line terminators are kept unescaped when
  • JSON_UNESCAPED_UNICODE is supplied. It uses the same behaviour as it was before PHP 7.1 without this constant. Available since PHP 7.1.0.

JSON_HEX_TAG => 1
JSON_HEX_AMP => 2
JSON_HEX_APOS => 4
JSON_HEX_QUOT => 8
JSON_FORCE_OBJECT => 16
JSON_NUMERIC_CHECK => 32
JSON_UNESCAPED_SLASHES => 64
JSON_PRETTY_PRINT => 128
JSON_UNESCAPED_UNICODE => 256

JSON_ERROR_DEPTH => 1
JSON_ERROR_STATE_MISMATCH => 2
JSON_ERROR_CTRL_CHAR => 3

JSON_ERROR_SYNTAX => 4

JSON_ERROR_UTF8 => 5
JSON_OBJECT_AS_ARRAY => 1

JSON_BIGINT_AS_STRING => 2

你可能感兴趣的:(关于json_encode和json_decode()参数)