引言
虛頭巴腦的大道理就不講了,直接上代碼。
我們說一下把PHP嵌套的數(shù)組,轉(zhuǎn)換為JSON字符串,提供給JS前端用。
基本面
使用json_encode函數(shù)將PHP數(shù)組傳遞給JSON字符串和JavaScript數(shù)組。在本文,我們使用多維數(shù)組進(jìn)行演示。一個(gè)數(shù)組
無論P(yáng)HP數(shù)組是單級的還是多級的,或者是數(shù)字索引的還是關(guān)聯(lián)索引的,下面的代碼放在一個(gè)JavaScript段中,將會(huì)輸出到JavaScript:
你可能希望使用JavaScript的JSON。解析來處理PHP的json_encode的結(jié)果,在這種情況下,使用以下代碼:
對于下面的示例數(shù)組,首先用PHP顯示該數(shù)組,然后包括用于輸出它的json_encode的JavaScript段,然后顯示輸出。最后展示在JavaScript中用于訪問結(jié)果數(shù)組元素或?qū)ο髮傩缘恼Z法。
示例數(shù)組1
默認(rèn)情況下,json_encode將數(shù)字索引的PHP數(shù)組輸出為JavaScript中的數(shù)組文本。關(guān)聯(lián)的PHP數(shù)組作為對象文本輸出。
示例數(shù)組2
在json_encode輸出中,外層是數(shù)組文字,而第二層形成對象文字。下面的代碼注釋演示了如何使用JSON_PRETTY_PRINT選項(xiàng)和json_encode實(shí)現(xiàn)更可讀的輸出:
更復(fù)雜的數(shù)組結(jié)構(gòu)
這個(gè)例子演示了如何使用JSON。解析json_encode的輸出。PHP標(biāo)記為此用單引號括起來。
訪問方式可以是索引鍵,可以是數(shù)字。
我們不能在JSON.parse中使用JSON_PRETTY_PRINT,因?yàn)槟菚?huì)導(dǎo)致JavaScript錯(cuò)誤:未終止的字符串文字。
寫在最后
本文通過深度對比PHP的數(shù)組,與JS的JSON對象之間的數(shù)值轉(zhuǎn)換,可以較為清晰地掌握關(guān)鍵點(diǎn),而不至于頻頻踩坑。
Happycoding:)
我是@程序員小助手,持續(xù)分享編程知識,。