php利用json_encode()函数可以把数组,工具转化成JSON名目标字符串,用于和其它页面的数据交互。本日就说一说PHP中json_encode()函数的界说与利用要领。
PHP json_encode()函数界说json_encode():可以把数组,对像转化成json名目标字符串
语法:
json_encode ( value,options,depth)参数:
value:要被转换的数据,可以是工具,数组或字符串
options:二进制常量,划定一些要转换的字符串的形式(详细,看文未说明)
depth:配置最大深度。 必需大于0。
留意:depth 参数在一些文档或课本中是不存在,但在PHP官方文档中是有先容的,在平时,不发起利用,略过即可。
PHP 数组转json操作 json_encode(函数,可以很轻松的将一维数组,以及二维数组转换成 JSON 字符串,如以下的示例代码。
json_encode()转化一维数组
示例代码:
<?php //飞鸟慕鱼博客 //一维数组转成JSON $arr = array( 'Name' => 'mochu', 'PageHome' => '', ); var_dump(json_encode($arr)); ?>由于json_encode()函数返回的功效是字符串形式的,可以操作var_dump()函数来打印
打印功效:
string(56) "{"Name":"mochu","PageHome":"http:\/\/www.feiniaomy.com"}"json_encode()转化二维数组
示例代码:
<?php //飞鸟慕鱼博客 //二维数组转成JSON $arr = array( 'Name' => 'mochu', 'PageHome' => '', 'About' => array( 'Major' => 'PHP', 'Age' => '18', 'Address' => 'Shang Hai', ), ); var_dump(json_encode($arr)); ?>打印功效:
string(113) "{"Name":"mochu","PageHome":"http:\/\/www.feiniaomy.com","About":{"Major":"PHP","Age":"18","Address":"Shang Hai"}}"由此可见,json_encode()可以对一维数组,以及二维数组举办转化,也就是说,此函数可以对PHP的多维数组举办json名目标转化
php json_encode 中文不转码示例一:
<?php //飞鸟慕鱼博客 $arr = array( 'Name' => '墨初', 'PageHome' => '飞鸟墨鱼博客', ); var_dump(json_encode($arr)); ?>打印功效:
string(73) "{"Name":"\u58a8\u521d","PageHome":"\u98de\u9e1f\u58a8\u9c7c\u535a\u5ba2"}"由上面的示例代码可以看出,json_encode()在转化含有中文的数组时,转化后的功效中,中文会以unicode编码的形式输出。
示例二,办理中文被编码的问题
打印功效:
string(49) "{"Name":"墨初","PageHome":"飞鸟墨鱼博客"}"留意:以面的代码中,给json_encode()函数的第二个参数,设成 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 起生效。