PHP json_encode函数的参数说明与用法
PHP

PHP json_encode函数的参数说明与用法

William
2022-03-24 / 0 评论 / 13 阅读 / 正在检测是否收录...

php使用json_encode()函数可以把数组,对象转化成JSON格式的字符串,用于和其它页面的数据交互。今天就说一说PHP中json_encode()函数的定义与使用方法。

函数定义

json_encode():可以把数组,对像转化成json格式的字符串

json_encode ( value,options,depth)

参数:

value:要被转换的数据,可以是对象,数组或字符串

options:二进制常量,规定一些要转换的字符串的形式(具体,看文未说明)

depth:设置最大深度。 必须大于0。

注意:depth 参数在一些文档或教材中是不存在,但在PHP官方文档中是有介绍的,在平时,不建议使用,略过即可。

数组转json

利用 json_encode(函数,可以很轻松的将一维数组,以及二维数组转换成 JSON 字符串,如以下的示例代码。

转化一维数组

示例代码:

<?php
// William's Blog
// 一维数组转成JSON
$arr = array(
    'Name' => 'iyume',
    'PageHome' => 'http://blog.iyume.top',
);
var_dump(json_encode($arr));
?>

由于json_encode()函数返回的结果是字符串形式的,可以利用var_dump()函数来打印

转化二维数组

示例代码:

<?php
// William's Blog
// 二维数组转成JSON
$arr = array(
    'Name' => 'iyume',
    'PageHome' => 'http://blog.iyume.top',
    'About' => array(
        'Major' => 'PHP',
        'Age' => '18',
        'Address' => 'Shang Hai',
    ),
);
var_dump(json_encode($arr));
?>

打印结果:

string(113) "{"Name":"iyume","PageHome":"http:\/\/blog.iyume.top","About":{"Major":"PHP","Age":"18","Address":"Shang Hai"}}"

中文不转码

<?php
// William's Blog
$arr = array(
    'Name' => '云梦',
    'PageHome' => '云梦博客',
);
var_dump(json_encode($arr, JSON_UNESCAPED_UNICODE));
?>

options 参数列表

JSON_HEX_TAG

所有的 < 和 > 转换成 \u003C 和 \u003E。 自 PHP 5.3.0 起生效。

JSON_HEX_AMP

所有的 & 转换成 \u0026。 自 PHP 5.3.0 起生效。

JSON_HEX_APOS

所有的 ' 转换成 \u0027。 自 PHP 5.3.0 起生效。

JSON_HEX_QUOT

所有的 " 转换成 \u0022。 自 PHP 5.3.0 起生效。

JSON_FORCE_OBJECT

使一个非关联数组输出一个类(Object)而非数组。 在数组为空而接受者需要一个类(Object)的时候尤其有用。 自 PHP 5.3.0 起生效。

JSON_NUMERIC_CHECK

将所有数字字符串编码成数字(numbers)。 自 PHP 5.3.3 起生效。

JSON_PRETTY_PRINT

用空白字符格式化返回的数据。 自 PHP 5.4.0 起生效。

JSON_UNESCAPED_SLASHES

不要编码 /。 自 PHP 5.4.0 起生效。

JSON_UNESCAPED_UNICODE

以字面编码多字节 Unicode 字符(默认是编码成 \uXXXX)。 自 PHP 5.4.0 起生效。

连在一起可以是:

echo json_encode($array, JSON_NUMERIC_CHECK | JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
0

评论 (0)

取消