将GET方法发送的id数组划分为单独的id动态

时间:2018-02-21 10:42:17

标签: php mysql arrays get

我有一个包含GET方法发送的几个id的数组,我想通过一个变量得到每个id,我的代码只修复了2个ID,并使用以下代码检索它们:

$searchString = ',';

if( strpos($_GET['id'], $searchString) != false ) 
{   
    $claimID = explode( ',', $_GET['id'] );
    $claimID1=$claimID[0];
    $claimID2=$claimID[1];
}

现在更改之后,是否可以获得超过2个ID,无限制,我想要检索它们并在查询和布局中使用它们,我怎么能实现这一目标?我必须在爆炸时使用一个循环,每当我想对所有id进行操作时(查询每个id)我必须循环?

enter image description here

好吧所以我曾经爆炸,并获得2个不同参数中的2个值并进行2次查询以获取金额并将它们一起添加到1个金额中,然后对每个ID使用更新查询,我的目标仍然是同样但对于2+以上,请注意在用户编号中,它会发送3个值,但现在用逗号连接

2 个答案:

答案 0 :(得分:0)

您实际上可以动态命名变量,尽管不推荐:

$arr = [1, 2, 5];
$i = 1;
foreach($arr as $val) {
    $name = "claimID" . $i++;
    $$name = $val;
}
// Outputs 5
echo $claimID3;

答案 1 :(得分:0)

您可以在PHP中创建变量变量,但我不会使用并执行此操作。将所有内容保存在数组中要容易得多。

变量变量的信息:http://php.net/manual/en/language.variables.variable.php (这是未经测试的,正如我所说,我不会这样做。)

if( strpos($_GET['id'], $searchString) != false ) {

  $claimID = explode( ',', $_GET['id'] );
  for($i=0;$i<count($claimID);$i++) {
    $varname = 'claimID' . $i;
    $$varname = $claimID[$i];
  }
}