使用imploded数组为链接构建get语句?

时间:2015-06-17 02:32:10

标签: php

我使用数组在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 

我无法弄清楚我在这里失踪了什么。任何帮助一如既往地受到高度赞赏。

杰克

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

这是你在找什么:

$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

看看如何使用implode以及如何创建数组。