PHP variable 打印多个变量

PHP Variable printing multiple variables

我有几个变量,例如:

$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

您可以这样使用 variable variables

$combined_variables = array();
for ($i = 1; $i <= 50 $i++) { 
    $var = 'q' . $i;
    $combined_variables[] = ${$var};
}
$combined_variables = implode(', ', $combined_variables);

但是,如果您可以使用数组而不是 50 个变量,您的工作就会容易得多。

这应该适合你:

(这里我从$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) . "'" . ")"