2010-07-02 53 views
0

我認爲標題說,以及...當然一些更多的解釋如何在PHP中使用序列化函數處理數組中字符串的斜槓?

假設我有一個數組containsig字符串。如果我的某個字符串包含斜線,如"red/blue/green",那麼當我使用php的serialize/unserialize函數並在會話變量中存儲/加載值時會出現問題。

如果嵌套了大數組,則必須考慮轉義每個值,特別是如果數組的維數不清晰。 爲了性能的原因,我不想在嵌套的巨大數組上運行遞歸算法。

那麼我怎麼能得到那個固定的,反正呢?

感謝所有幫助者;-)

回答

3

您可以json_encodejson_decode而不是序列化。最終的結果格式沒有那麼大的不同。

這是一種替代方案,因此您不必在自己的大型陣列上創建自己的函數或循環。

+0

好主意!試過了,如果我使用json_decode(str_replace(,「/」,),true),我得到一個assoc數組...作品。 – helle 2010-07-02 13:10:59

+0

很高興工作。正如我所說,格式非常接近。序列化可能是一個更加精細的格式。 – 2010-07-02 13:19:27

0

你試過addslashes()及其他變體?

至於處理彼此嵌套的不同大小的數組,一個for ... each循環中的遞歸函數應該做到這一點。

+0

嗯,這是行不通的,因爲斜線仍然存在於字符串中 – helle 2010-07-02 13:02:23

+0

編輯過的關於數組的答案 – Extrakun 2010-07-02 13:03:02

相關問題