PHP变量打印多个变量

时间:2015-03-26 11:06:30

标签: php arrays variables for-loop

我有几个变量,例如:

$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

2 个答案:

答案 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个变量,那么您可以轻松完成工作。