2012-10-05 85 views
-1

可能重複:
unserialize problem與鍵和值將字符串數組

我對形式的字符串:

a:16:{i:0;s:3:"696";i:1;s:3:"698";i:2;s:3:"690";}" 

我期待在轉彎這回到陣列,以便它將沿着線:

array(16) { 
    0 => 696, 
    1 => 698, 
    2 => 690 
} 

任何想法如何做到這一點?

感謝

+0

是字符串還是json數組? – 2012-10-05 12:10:10

+0

它看起來像一個序列化的數組,只是反序列化它可能工作? http://www.php.net/unserialize –

回答

6

它看起來像一個系列化PHP字符串,嘗試

$array = unserialize($value); 

手冊:http://php.net/manual/en/function.unserialize.php

更新

的字符串包含一個漏洞,因爲它需要一個數組16個元素,但只有3個給出。

考慮:

$a = array (
    0 => '696', 
    1 => '698', 
    2 => '690' 
); 

$s = serialize($a); 

將導致:

"a:3:{i:0;s:3:"696";i:1;s:3:"698";i:2;s:3:"690";}" 
+0

通常我會說它正確與頂部的字符串不工作。 – Stony

+0

更新了我的回答 – JvdBerg

+0

謝謝,那修好了:) – Ollie

1

使用unserialize()功能。

$array = unserialize($serialized_string);