php
2015-11-06 82 views -1 likes 
-1

我們遇到了反斜槓問題。PHP json_encode問題與balckslash

當我們json_encode 「FBU4061 \ 0258」 變爲了FBU40618加上雙引號,

$x = "FBU4061\0258"; 
json_encode($x, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); 

但燒毛引用它提供了正確的價值 'FBU4061 \ 0258'。

$x = 'FBU4061\0258'; 
json_encode($x, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); 

如何消除這個問題,因爲當我們取數據它帶有雙引號?

回答

2

當您使用double quoted strings時,PHP執行轉義序列替換,並且\0NUL字節。

\\[0-7]{1,3}匹配正則表達式的字符序列是八進制的字符使用single quotes在不進行

這樣的更換,讓您得到預期的結果。

按@Quentin話:

你必須考慮到一個字符串的源代碼和文字一旦它已經通過PHP編譯通過了該字符串的值之間的差異。

+2

換句話說:一旦通過PHP編譯器,您必須考慮字符串文字的源代碼與該字符串文字的值之間的差異。 – Quentin

+0

什麼是解決方案傢伙? – Shaolin

+0

@MDeSilva使用單引號。 –

相關問題