-1

可能重复:
反序列化问题

我有一个形式为:

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
}

任何想法如何做到这一点?

谢谢

4

2 回答 2

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";}"
于 2012-10-05T12:10:11.363 回答
1

使用该unserialize()功能。

$array = unserialize($serialized_string);
于 2012-10-05T12:11:14.967 回答