來源:不言 發(fā)布時間:2018-12-15 15:53:21 閱讀量:984
這篇文章給大家介紹的內(nèi)容是關(guān)于PHP中json_encode的使用方法介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
假設(shè)有這么一個URL
1 |
|
得到這樣的輸出
1 |
|
首先發(fā)現(xiàn)中文經(jīng)過encode之后變成了16進制,這不是亂碼,只是單純現(xiàn)實方法變了,因為只需要直接通過反序列化就能得到原結(jié)果,如下:
1 2 3 4 5 |
|
可見這不是亂碼,那么接下來說一說正題,雖然不是亂碼,但是看著16進制總是影響閱讀
可以在json_encode
加一個參數(shù)
1 2 3 4 5 |
|
發(fā)現(xiàn)中文可以正常顯示了,但是還有一個問題就是反斜杠被自動加了轉(zhuǎn)義字符\
看著也挺難受的,有沒有方法可以把轉(zhuǎn)義符去掉
1 2 3 4 5 6 |
|
現(xiàn)在轉(zhuǎn)義符去掉了,但是中文又變成16進制了,我想既去掉轉(zhuǎn)義符,又正常顯示中文怎么辦
受到*nix-like權(quán)限管理的啟發(fā),發(fā)現(xiàn)可以用異或運算
1 2 3 4 5 |
|
完事。
另外補充一下,
因為JSON_UNESCAPED_UNICODE
|JSON_UNESCAPED_SLASHES
這幾個值的特殊性,因為都是通過1 << n (n為一個整數(shù))
得到的,所以不僅可以用異或運算,也可以直接使用加法
1 |
|