将计数器放在变量的名称上

时间:2016-11-16 21:36:58

标签: php html syntax concat

我想做的是取变量名$ingreso并在最后增加它以发送大量具有相同名称但最后具有不同数字的变量,$ingreso1,{{ 1}}等,但我不知道如何正确连接它。 请帮助。

PHP代码:

ingreso2

但它不断返回 while ( $cont<= 15){ $sql = "INSERT INTO ingreso (vlr_ingreso, periodo_ingreso, proyecto_id_proyecto) VALUES ('$ingreso".$cont."','$cont','$proyecto_id');"; $insert = mysqli_query($con, $sql); } 而没有最后的数字。

我认为它发生的是$ingreso$cont内容的末尾添加,而不是添加到变量本身

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您应该可以使用complex string syntax{})。

来完成此操作
while ( $cont<= 15){           
    $sql = "INSERT INTO ingreso (vlr_ingreso, periodo_ingreso, proyecto_id_proyecto)
          VALUES ('${'ingreso'.$cont}','$cont','$proyecto_id');";
    $insert = mysqli_query($con, $sql);
}

这样,${'ingreso'.$cont}将在字符串中解析为$ingreso1$ingreso2等。

(另外,正如AbraCadaver评论的那样,您还需要增加$cont才能使其正常工作。)

如果您可以在代码中更早地进行更改,那么这将更容易,因此这些是数组键而不是单独的变量。例如,如果您有一个类似的数组:

$ingreso[1] = 'something';
$ingreso[2] = 'something else';
$ingreso[3] = 'etc.';

然后您可以改为使用foreach循环:

foreach ($ingreso as $periodo => $vlr) {
    $sql = "INSERT INTO ingreso (vlr_ingreso, periodo_ingreso, proyecto_id_proyecto)
            VALUES ('$vlr','$periodo','$proyecto_id');";
}