PHP序列化,数组结构

时间:2014-06-25 10:37:23

标签: php json serialization

我有问题将一些JSON序列化为我需要的格式,以便存储在数据库中。

我想要一个像(所以没有键)的结构:

a:10:{s:8:"location";s:5:"London";s:6:"_token";s:40:"5969e8f11f20b12afc6dfc7b9ce4a6acfc44544d";s:8:"producttype";s:6:"rental";}

但是当我这样做时:

$array[] = $postData['queryData'];
$parameters = serialize($array);

我得到一个带密钥的数组:

a:1:{i:0;s:321:"{"location":"London","_token":"140e8a2f50db0e62f42cfd27662b3b746aa7bf22","producttype":"rental"}

如果我这样做:

  $parameters = serialize($postData['queryData']);

我只得到一个字符串:

s:321:"{"location":"London","_token":"f7aad7cc4d1e1f8b999970c820001a17a3e6cfee","saletype":"rental"};

1 个答案:

答案 0 :(得分:4)

$postData['queryData']显然是一个JSON字符串。您正在序列化包含JSON数据的PHP字符串。如果要序列化PHP数组结构,则必须在序列化之前将JSON字符串解码为PHP数组:

serialize(json_decode($postData['queryData'], true))