json_encode()
函数在 PHP 中用于将数组或对象转换为 JSON 字符串。以下是 json_encode()
函数的参数:
-
输入数据:这是要编码的数据,可以是一个数组、对象或者一个嵌套的数据结构。
-
选项:此参数是一个可选的整数或数组,用于控制
json_encode()
的行为。可以设置的选项包括:JSON_UNESCAPED_SLASHES
:默认情况下,斜杠(/)会被转义为\/
。启用此选项可防止斜杠被转义。JSON_UNESCAPED_UNICODE
:默认情况下,Unicode 字符会被转义。启用此选项可防止 Unicode 字符被转义。JSON_PRETTY_PRINT
:默认情况下,返回的 JSON 字符串不格式化。启用此选项可使输出的 JSON 字符串更易读(缩进和换行)。JSON_UNESCAPED_UNICODE
:此选项与JSON_UNESCAPED_UNICODE
相同,但已被弃用,建议使用JSON_UNESCAPED_UNICODE
。JSON_PARTIAL_OUTPUT_ON_ERROR
:默认情况下,如果遇到错误,json_encode()
会返回null
或false
。启用此选项可在遇到错误时返回部分输出而不是中止执行。JSON_ENCODE_OPTIONS
:此选项允许您传递一个整数,该整数指定要应用于 JSON 编码的选项。这些选项是 PHP 8.0 中引入的。
-
回调函数:此参数允许您定义一个回调函数,该函数将在编码过程中应用于数组或对象的每个元素。这可以用于转换数据类型或添加自定义逻辑。回调函数应返回一个值,该值将替换原始值。
示例:
$data = https://www.yisu.com/ask/["name" => "John", "age" => 30, "city" => "New York" ]; $options = JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT; $json = json_encode($data, $options); echo $json; // 输出: // { // "name": "John", // "age": 30, // "city": "New York" // }