Php 如何取消ajax发送的数据序列化?

Php 如何取消ajax发送的数据序列化?,php,serialization,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 ] 您应该像这样使用: parse_s

数据如下所示:

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 ]
您应该像这样使用:

parse_str( 'sport[]=1&music[]=0&web[]=2', $data);
现在,
$data
包含该字符串中的值:

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

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

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

)

$\u POST
$\u GET
数组已保存来自您请求的未序列化
应用程序/x-www-form-urlencoded
数据


请打印
$\u POST
数组的
var\u dump()
,以查看如何访问这些值。

这里需要一个适当的解释:unserialize()不起作用,因为该字符串不是PHP序列化格式,但看起来像HTTP查询字符串。无论如何,用PHP的原生序列化格式序列化数据不是AJAX方式;通常使用XML或JSON等可互操作的格式。