我试图创建自己的自定义面包屑,为此,我必须使用PHP获取查询字符串,然后将其传递给jQuery。到目前为止,我已经能够在foreach循环中获取查询字符串keys/values
,然后将其放置在输入中,然后可以使用jQuery获取值,但是,我的问题是,如果我为单个输入有多个值像这样的关键
?filter_style=bevelled-glass&filter_colour=amber,clear
我检索到的都是两个值,但是我需要能够将它们分开。这是我的代码以及正在获取的内容;
代码;
<?php
foreach($_GET as $key => $value){
echo '<input class="' . $key . '" type="text" value="' . $value . '" style="display: none;">';
}
?>
输出;
<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对象?
答案 0 :(得分:3)
您可以展开每个值以从中获取项目的数组,然后循环并打印。
<?php
foreach($_GET as $key => $value){
$subarray = explode(",",$value);
foreach($subarray as $subvalue)
{
echo '<input class="' . $key . '" type="text" value="' . $subvalue . '" style="display: none;">';
}
}
?>
答案 1 :(得分:1)
我对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 . '">
}
}
如果该代码按书面形式运行,我会感到非常惊讶,但这就是我在使用其他语言进行开发时要解决的问题。而且,我认为,尽可能使用JSON总是更好。
答案 2 :(得分:0)
尝试类似的事情
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;">';
}
}