2012-10-05 90 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);