gpt4 book ai didi

php - 获取多个过滤值参数

转载 作者:可可西里 更新时间:2023-11-01 00:54:47 25 4
gpt4 key购买 nike

我正在使用这个 SO question使用复选框处理我的过滤器搜索。

这是JS

$('input[type="checkbox"]').on('change', function (e) {
var data = {},
fdata = [],
loc = $('<a>', { href: window.location })[0];
$('input[type="checkbox"]').each(function (i) {
if (this.checked) {
if (!data.hasOwnProperty(this.name)) {
data[this.name] = [];
}
data[this.name].push(this.value);
}
});
// get all keys.
var keys = Object.keys(data);
var fdata = "";
// iterate over them and create the fdata
keys.forEach(function(key,i){
if (i>0) fdata += '&'; // if its not the first key add &
fdata += key+"="+data[key].join(',');
});
$.ajax({
type: "get",
url: "/ajax/get",
data: {
"_token": "{{ csrf_token() }}",
"fdata": fdata
},
success: function (response) {
$('#d2d-results').html(response);
}
});
if (history.pushState) {
history.pushState(null, null, loc.pathname + '?' + fdata);
}
});

现在我尝试将 fdata 的值获取到 PHP。

在 PHP 上,我得到变量 echo $_GET['fdata']; 的这个值:

discount=Y&brand=BR0006,BR0003

我想要什么

$discount="Y";
$brand="BR0006,BR0003";

这样可以吗?

最佳答案

要做你想做的事,你必须做两个步骤:

  1. parse查询字符串放入一个数组中:

    parse_str($_GET['fdata'], $result);
  2. 然后,extract数组作为变量:

    extract($result);

一些注意事项:

使用 extract 是非常不安全的(而且有点难看)。用户可以在 URL 中放置诸如(例如)isAdmin=1 之类的内容,这将影响您的代码。基本上,您不能再信任您的变量。

我会跳过第 2 步(extract 东西),直接使用 $result,例如 echo $result['discount'].

关于php - 获取多个过滤值参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49713992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com