2013-03-26 68 views
0

當我做var_dump($string);我得到PHP的反序列化字符串

string(894) "[{"id":"11","value":"Gotowy do u\u017cytku"},{"id":"12","value":"Na 4 k\u00f3\u0142kach"},{"id":"13","value":"20 minut - rozgrzany do pracy"},{"id":"14","value":"Pow. u\u017cytkowa 108 cm2"},{"id":"15","value":"Piec i grill w jednym"},{"id":"16","value":["tekst","\/images\/alfa\/domowa\/forninox\/1.jpg","lightbox"]},{"id":"17","value":["tekst","\/images\/alfa\/domowa\/forninox\/1.jpg","lightbox"]},{"id":"18","value":["tekst","\/images\/alfa\/domowa\/forninox\/3.jpg","lightbox"]},{"id":"19","value":["tekst","\/images\/alfa\/domowa\/forninox\/2.jpg","lightbox"]},{"id":"20","value":"cm 127"},{"id":"21","value":"cm 189"},{"id":"22","value":"cm2 108"},{"id":"23","value":"Kg 340"},{"id":"24","value":"\u00a6 cm 25\/20"},{"id":"25","value":"Mat. ceramiczny"},{"id":"26","value":"Stal nierdzewna"},{"id":"27","value":"W\u0142. ceramiczne"},{"id":"28","value":"min 20"},{"id":"29","value":"7"}]" 

,我該怎麼把這個字符串轉換成數組,所以我做反序列化,像這樣:

$a = unserialize($string); 
var_dump($a); 

但在輸出我得到:

bool(false) 

Enybody知道我做錯了什麼?

回答

3

你有一個json字符串。您想使用

$arr = json_decode($string, TRUE); 

將其反序列化爲關聯數組。

+1

非常感謝,你是如何認識到這是一個JSON字符串? – user2213609 2013-03-26 22:45:49

+0

注意,這不會反序列化爲一個關聯數組,而是一個數字索引數組。 JSON沒有關聯數組的概念。 – 2013-03-26 22:47:28

+0

@MikeBrant php確實有一個關聯數組的概念。如果他使用這種解決方案,他可以通過使用$ arr [5] [「value」] [0]來引用「tekst」。這個鍵,值,字典類型引用與php關聯數組相同。 – eliot 2013-03-26 22:54:31

0

它沒有序列化,但json編碼。使用方法:

$decoded = json_decode($string);