如何反序列化由ajax发送的数据?

时间:2012-09-13 12:33:29

标签: php serialization

数据如下:

sport[]=1&music[]=0&web[]=2

我做了:

$data = unserialize($post["data"]);

但这是一个错误:

ErrorException [ 8 ]: unserialize() [function.unserialize]: Error at offset 0 of 27 bytes ~ APPPATH\classes\controller\ajax.php [ 14 ]

2 个答案:

答案 0 :(得分:5)

您应该使用parse_str(),如下所示:

parse_str( 'sport[]=1&music[]=0&web[]=2', $data);

现在$data包含该字符串中的值:

Array
(
    [sport] => Array
        (
            [0] => 1
        )

    [music] => Array
        (
            [0] => 0
        )

    [web] => Array
        (
            [0] => 2
        )

)

答案 1 :(得分:-1)

$_POST$_GET数组已从您的请求中保留了未序列化的application/x-www-form-urlencoded数据。

打印var_dump()数组的$_POST,以了解如何访问此类值。