繁体   English   中英

$ .param的PHP逆函数

[英]Inverse of $.param for PHP

jQuery中有一个函数$.param ,该函数接受一个对象(也可以是嵌套对象)并将其转换为适合GET使用的字符串。

我想知道是否有一个PHP函数会采用该字符串并将其转换回数组(如果是这种情况,则返回嵌套数组)。 有这样的功能吗?

编辑:

我正在发送此JS对象(在$.param()之后):

{"categories": [90000]}

我正在从$_GET在服务器端读取它,然后将其传递给parse_str

我也有一个测试代码,可以重新创建预期的PHP数组。

整个过程看起来像:

$filter = $_GET["my_array"];
parse_str($filters, $_filters);
error_log(print_r($_filters, true), 4);
$x = [
    "categories" => [
        90000
    ]
];
error_log(print_r($x, true), 4);

该代码的输出为:

(
    [categories] => Array
        (
            [0] => 90000
        ) 
)


(
    [categories] => Array
        (
            [0] => 90000
        ) 
)

因此,我认为它们是相同的。 但是然后我将该数组传递给Yii的findAll方法,并且仅与$x

也许parse_str在解析时混合了普通数组和关联数组,这就是为什么findAll无法正常工作的原因?

我认为您可能正在寻找Jon Stirling提到的parse_urlparse_str

请记住,所有查询参数将已经存在于$_GET全局$_GET

URL的查询部分的用法。

var_dump(parse_url($url, PHP_URL_QUERY));

是的,您可以使用parse_str

$serializedData = $_GET['data'];
$unserializedData = array();

parse_str($serializedData, $unserializedData);

print_r($unserializedData);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM