新聞中心
本文操作環(huán)境:windows7系統(tǒng)、php7.1版、DELL G3電腦

成都創(chuàng)新互聯(lián)公司專注于臨夏州企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,成都做商城網(wǎng)站。臨夏州網(wǎng)站建設(shè)公司,為臨夏州等地區(qū)提供建站服務(wù)。全流程按需設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
php如何實(shí)現(xiàn)json轉(zhuǎn)數(shù)組?
json_decode()
該函數(shù)用于將json文本轉(zhuǎn)換為相應(yīng)的PHP數(shù)據(jù)結(jié)構(gòu)。
下面是一個(gè)例子:
$json ='{"foo": 12345}';
$obj = json_decode($json);
print $obj->{'foo'};// 12345
通常情況下,json_decode()總是返回一個(gè)PHP對(duì)象,而不是數(shù)組。比如:
$json ='{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
結(jié)果就是生成一個(gè)PHP對(duì)象:
object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
如果想要強(qiáng)制生成PHP關(guān)聯(lián)數(shù)組,json_decode()需要加一個(gè)參數(shù)true:
$json ='{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json,true));
結(jié)果就生成了一個(gè)關(guān)聯(lián)數(shù)組:
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
下面三種json寫法都是錯(cuò)的,你能看出錯(cuò)在哪里嗎?
json_decode()的常見(jiàn)錯(cuò)誤
$bad_json ="{ 'bar': 'baz' }";
$bad_json ='{ bar: "baz" }';
$bad_json ='{ "bar": "baz", }';
第一個(gè)的錯(cuò)誤是,json的分隔符(delimiter)只允許使用雙引號(hào),不能使用單引號(hào)。第二個(gè)的錯(cuò)誤是,json名值對(duì)的"名"(冒號(hào)左邊的部分),任何情況下都必須使用雙引號(hào)。第三個(gè)的錯(cuò)誤是,最后一個(gè)值之后不能添加逗號(hào)(trailing comma)。 對(duì)這三個(gè)字符串執(zhí)行json_decode()都將返回null,并且報(bào)錯(cuò)。
另外,json只能用來(lái)表示對(duì)象(object)和數(shù)組(array),如果對(duì)一個(gè)字符串或數(shù)值使用json_decode(),將會(huì)返回null。
var_dump(json_decode("Hello World"));//null 當(dāng)前名稱:php如何實(shí)現(xiàn)json轉(zhuǎn)數(shù)組
網(wǎng)頁(yè)網(wǎng)址:http://www.5511xx.com/article/cogoddo.html


咨詢
建站咨詢
