php json encode 参数,PHP json_encode函数的参数说明与用法
php使用json_encode()函數(shù)可以把數(shù)組,對象轉(zhuǎn)化成JSON格式的字符串,用于和其它頁面的數(shù)據(jù)交互。今天就說一說PHP中json_encode()函數(shù)的定義與使用方法。
PHP json_encode()函數(shù)定義
json_encode():可以把數(shù)組,對像轉(zhuǎn)化成json格式的字符串
語法:json_encode?(?value,options,depth)
參數(shù):
value:要被轉(zhuǎn)換的數(shù)據(jù),可以是對象,數(shù)組或字符串
options:二進制常量,規(guī)定一些要轉(zhuǎn)換的字符串的形式(具體,看文未說明)
depth:設(shè)置最大深度。 必須大于0。
注意:depth 參數(shù)在一些文檔或教材中是不存在,但在PHP官方文檔中是有介紹的,在平時,不建議使用,略過即可。
PHP 數(shù)組轉(zhuǎn)json
利用 json_encode(函數(shù),可以很輕松的將一維數(shù)組,以及二維數(shù)組轉(zhuǎn)換成 JSON 字符串,如以下的示例代碼。
json_encode()轉(zhuǎn)化一維數(shù)組
示例代碼:<?php
//飛鳥慕魚博客
//一維數(shù)組轉(zhuǎn)成JSON
$arr?=?array(
'Name'?=>?'mochu',
'PageHome'?=>?'http://www.feiniaomy.com',
);
var_dump(json_encode($arr));
?>
由于json_encode()函數(shù)返回的結(jié)果是字符串形式的,可以利用var_dump()函數(shù)來打印
打印結(jié)果:string(56)?"{"Name":"mochu","PageHome":"http:\/\/www.feiniaomy.com"}"
json_encode()轉(zhuǎn)化二維數(shù)組
示例代碼:<?php
//飛鳥慕魚博客
//二維數(shù)組轉(zhuǎn)成JSON
$arr?=?array(
'Name'?=>?'mochu',
'PageHome'?=>?'http://www.feiniaomy.com',
'About'?=>?array(
'Major'?=>?'PHP',
'Age'?=>?'18',
'Address'?=>?'Shang?Hai',
),
);
var_dump(json_encode($arr));
?>
打印結(jié)果:string(113)?"{"Name":"mochu","PageHome":"http:\/\/www.feiniaomy.com","About":{"Major":"PHP","Age":"18","Address":"Shang?Hai"}}"
由此可見,json_encode()可以對一維數(shù)組,以及二維數(shù)組進行轉(zhuǎn)化,也就是說,此函數(shù)可以對PHP的多維數(shù)組進行json格式的轉(zhuǎn)化
php json_encode 中文不轉(zhuǎn)碼
示例一:<?php
//飛鳥慕魚博客
$arr?=?array(
'Name'?=>?'墨初',
'PageHome'?=>?'飛鳥墨魚博客',
);
var_dump(json_encode($arr));
?>
打印結(jié)果:string(73)?"{"Name":"\u58a8\u521d","PageHome":"\u98de\u9e1f\u58a8\u9c7c\u535a\u5ba2"}"
由上面的示例代碼可以看出,json_encode()在轉(zhuǎn)化含有中文的數(shù)組時,轉(zhuǎn)化后的結(jié)果中,中文會以unicode編碼的形式輸出。
示例二,解決中文被編碼的問題
//飛鳥慕魚博客
$arr?=?array(
'Name'?=>?'墨初',
'PageHome'?=>?'飛鳥墨魚博客',
);
var_dump(json_encode($arr,JSON_UNESCAPED_UNICODE));
?>
打印結(jié)果:string(49)?"{"Name":"墨初","PageHome":"飛鳥墨魚博客"}"
注意:以面的代碼中,給json_encode()函數(shù)的第二個參數(shù),設(shè)成 JSON_UNESCAPED_UNICODE ,可以完全解決中文被轉(zhuǎn)碼的問題。
附錄:options 參數(shù)列表JSON_HEX_TAG
所有的 < 和 > 轉(zhuǎn)換成 \u003C 和 \u003E。 自 PHP 5.3.0 起生效。
JSON_HEX_AMP
所有的 & 轉(zhuǎn)換成 \u0026。 自 PHP 5.3.0 起生效。
JSON_HEX_APOS
所有的 ' 轉(zhuǎn)換成 \u0027。 自 PHP 5.3.0 起生效。
JSON_HEX_QUOT
所有的 " 轉(zhuǎn)換成 \u0022。 自 PHP 5.3.0 起生效。
JSON_FORCE_OBJECT
使一個非關(guān)聯(lián)數(shù)組輸出一個類(Object)而非數(shù)組。 在數(shù)組為空而接受者需要一個類(Object)的時候尤其有用。 自 PHP 5.3.0 起生效。
JSON_NUMERIC_CHECK
將所有數(shù)字字符串編碼成數(shù)字(numbers)。 自 PHP 5.3.3 起生效。
JSON_PRETTY_PRINT
用空白字符格式化返回的數(shù)據(jù)。 自 PHP 5.4.0 起生效。
JSON_UNESCAPED_SLASHES
不要編碼 /。 自 PHP 5.4.0 起生效。
JSON_UNESCAPED_UNICODE
以字面編碼多字節(jié) Unicode 字符(默認(rèn)是編碼成 \uXXXX)。 自 PHP 5.4.0 起生效。
總結(jié)
以上是生活随笔為你收集整理的php json encode 参数,PHP json_encode函数的参数说明与用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python的编码 encode
- 下一篇: swoole 连接池php fpm,【转