Php 获取查询字符串值并传递给JQuery

Php 获取查询字符串值并传递给JQuery,php,jquery,query-string,Php,Jquery,Query String,我正在尝试创建自己的自定义面包屑,为此,我必须使用PHP获取查询字符串,然后将其传递给我的jQuery。到目前为止,我已经能够在foreach循环中获取查询字符串键/值,然后将它们放在输入中,然后我可以使用jQuery获取值,但是,我的问题是,如果像这样一个键有多个值 ?filter_style=bevelled-glass&filter_colour=amber,clear 我检索的是两个值作为一个,但我需要能够将它们分开。这是我的代码和我正在检索的内容 代码 产出 <i

我正在尝试创建自己的自定义面包屑,为此,我必须使用PHP获取查询字符串,然后将其传递给我的jQuery。到目前为止,我已经能够在foreach循环中获取查询字符串
键/值
,然后将它们放在输入中,然后我可以使用jQuery获取值,但是,我的问题是,如果像这样一个键有多个值

?filter_style=bevelled-glass&filter_colour=amber,clear 
我检索的是两个值作为一个,但我需要能够将它们分开。这是我的代码和我正在检索的内容

代码


产出

<input class="filter_style" type="text" value="bevelled-glass" style="display: none;">
<input class="filter_colour" type="text" value="amber,clear" style="display: none;">

我想要什么

<input class="filter_style" type="text" value="bevelled-glass" style="display: none;">
<input class="filter_colour" type="text" value="amber" style="display: none;">
<input class="filter_colour" type="text" value="clear" style="display: none;">


这也是将数据传递给jQuery的最佳方式,还是可以创建某种oJSONon对象

您可以分解每个值,从中获取项目数组,然后循环并打印

<?php 
    foreach($_GET as $key => $value){
        $subarray = explode(",",$value);
        foreach($subarray as $subvalue)
        {
             echo '<input class="' . $key . '" type="text" value="' . $subvalue . '" style="display: none;">';
        }
    }
?>

您可以分解每个值,从中获取项目数组,然后循环并打印

<?php 
    foreach($_GET as $key => $value){
        $subarray = explode(",",$value);
        foreach($subarray as $subvalue)
        {
             echo '<input class="' . $key . '" type="text" value="' . $subvalue . '" style="display: none;">';
        }
    }
?>

试试这样的方法

foreach($_GET as $key => $value){

if(count(explode(',',$value))){

foreach(explode(',',$value) as $subvalue){

echo '<input class="' . $key . '" type="text" value="' . $subvalue . '" style="display: none;">';

}

}else{
echo '<input class="' . $key . '" type="text" value="' . $value . '" style="display: none;">';
}

}
foreach($\u获取为$key=>$value){
if(计数(分解(',',$value))){
foreach(将(“,”,$value)分解为$subvalue){
回声';
}
}否则{
回声';
}
}

试试这样的方法

foreach($_GET as $key => $value){

if(count(explode(',',$value))){

foreach(explode(',',$value) as $subvalue){

echo '<input class="' . $key . '" type="text" value="' . $subvalue . '" style="display: none;">';

}

}else{
echo '<input class="' . $key . '" type="text" value="' . $value . '" style="display: none;">';
}

}
foreach($\u获取为$key=>$value){
if(计数(分解(',',$value))){
foreach(将(“,”,$value)分解为$subvalue){
回声';
}
}否则{
回声';
}
}

我对PHP知之甚少,但根据我对GET请求的了解,您应该能够获取
琥珀色,将
清除为一个数组,并从中分离出来。在伪代码中

foreach ($_GET as $key => $value) {
    if ($value is array) { 
        foreach ($val in $value) {
            <input class="' . $key . '" value="' . $val . '">
        }
    else {
        <input class="' . $key . '" value="' . $value . '">
    }
}
foreach($\u获取为$key=>$value){
如果($value是数组){
foreach($val,单位为$value){
}
否则{
}
}

如果代码按编写的方式运行,我会感到非常惊讶,但这就是我在用其他语言开发时解决这个问题所做的。另外,在我看来,尽可能使用JSON总是更好。

我对PHP不太了解,但从我对get请求的了解来看,您应该能够获得
amber,clear
一个数组,并从那里将其拆分。在伪代码中

foreach ($_GET as $key => $value) {
    if ($value is array) { 
        foreach ($val in $value) {
            <input class="' . $key . '" value="' . $val . '">
        }
    else {
        <input class="' . $key . '" value="' . $value . '">
    }
}
foreach($\u获取为$key=>$value){
如果($value是数组){
foreach($val,单位为$value){
}
否则{
}
}

如果代码按编写的方式运行,我会感到非常惊讶,但这就是我在使用其他语言开发时解决这个问题所做的。而且,在我看来,尽可能使用JSON总是更好的。

如果($value是array){
这个条件永远不会通过,因为他不通过数组,他通过一个带逗号的字符串eah,我认为Sujit的答案是正确的,在精确的代码中是的,我的也经过了测试,工作正常,但是被否决了,因为总是有人在某个地方拥有错误的权限…
如果($value是数组){
这个条件永远不会通过,因为他不传递数组,他传递一个带逗号的字符串。是啊,我认为Sujit的答案是正确的,在精确的代码中是正确的。是的,我的也经过了测试,工作正常,但被否决了,因为总是有人在某个地方拥有错误的权限。。。