使用内爆数组为链接构建 get 语句


Use an imploded array to build a get statement for a link?

我正在使用数组在while循环中构建get语句。这是我用来构建数组的代码

为批量更新创建一个数组

$i++;   
$where=array();
$where[] =$cards['id'].'&';
$query.=  ' id_'.$i.'='.implode($where);   

当我回显$query时,(这是构造的 get 语句)我确实得到了我想要的结果,即id_1=1&id_2=2&id_3=3 等等

...

但是,当我尝试在回显链接中使用 $query 变量时,如下所示:

echo  "<a href=mass_qty_update.php?".rtrim($query,'&')."><button>"."Update All Quantities"."</button></a>";

$query变量返回空白。因此,在这种情况下,我目前得到的链接:

mass_qty_update.php?

当我应该得到:

mass_qty_update.php?id_1=1& id_2=2& id_3=3 

我不知道我在这里错过了什么。一如既往的任何帮助都非常感谢。

千斤顶

您是否在循环中定义查询?如果是这样,它将在您退出循环后立即取消设置。为了解决这个问题,在循环设置之前将其定义为 null,它应该可以工作。

$query = "";
loop{
    ...
}
echo  "<a href=mass_qty_update.php?".rtrim($query,'&')."><button>"."Update All Quantities"."</button></a>";

这是您要查找的内容:

$i=0;
$link = 'mass_qty_update.php?';
$chunks = array();
while($i<5){
    $i++;  
    $chunks[] = 'id_'.$i.'='.$i;
}
$link .= implode('&', $chunks);
echo $link;
// Output: mass_qty_update.php?id_1=1&id_2=2&id_3=3&id_4=4&id_5=5

看看内爆是如何使用的,数组是如何创建的。