我有几个变量,例如:
$q1
$q2
$q3
...
$q50
我想将它们组合成一个变量,将变量放入INSERT INTO的VALUE。也许是for循环?
INSERT INTO $table_name ($column_names) VALUES($q1, $q2, $q3)
所以它可能看起来像这样
INSERT INTO $table_name ($column_names) VALUES($combined_variables)
这样,我可以手动将另一个变量添加到$ q51,它会自动填充VALUE。
这可能吗?也许像这样的事情(但这不起作用)
$combined_variables = '';
for( $i = 1; $i <= 50 $i++ ) {
$combined_variables .= 'q' . $i . ', ';
}
$combined_variables = substr($combined_variables, 0, -2); //minus 2 to remove the last space and comma
答案 0 :(得分:1)
这应该适合你:
(这里我从$q1
开始并将其分配给数组,直到未设置下一个$qX
为止
<?php
$combined_variables = [];
$count = 1;
while(isset(${"q" . $count})){
$combined_variables[] = ${"q" . $count};
$count++;
}
?>
以此为例:
$q1 = 5;
$q2 = 2;
你最终会得到以下数组:
Array ( [0] => 5 [1] => 2 )
然后您可以在查询中使用它,如下所示:
"INSERT INTO $table_name ($column_names) VALUES(" . "'" . implode("','", $combined_variables) . "'" . ")"
答案 1 :(得分:0)
您可以像这样使用variable variables:
$combined_variables = array();
for ($i = 1; $i <= 50 $i++) {
$var = 'q' . $i;
$combined_variables[] = ${$var};
}
$combined_variables = implode(', ', $combined_variables);
但是,如果您可以使用数组而不是50个变量,那么您可以轻松完成工作。