我知道如何在引号
中执行php变量$q1 = 1;
$q2 = 2;
$q3 = 3;
$q4 = 4;
$q5 = 5;
echo "${q1}"; //outputs 1
如何在循环中输出它们?
for($i=1; $i<=5; $i++)
{
echo "${q$i}"; //how to make $i work here?
}
如何让$i
与$q
一起工作?
更新
我希望引号存在,因为我在循环中创建一个字符串,我想将该循环传递给mysql查询。所以我希望字符串像
$str = '$q1, $q2, $q3';
当我将它传递给mysql查询时,它应该解释$ q1,$ q2,$ q3的值,即1,2,3
mysql_query("INSERT INTO users (col1, col2, col3) VALUES ($str)");
所以它应该成为
mysql_query("INSERT INTO users (col1, col2, col3) VALUES (1,2,3)");
这只是一个例子,我知道mysql_query
的语法错误,但你知道
答案 0 :(得分:2)
我认为你在寻找的是:
<?php
$arr = array();
$q1 = 1;
$q2 = 2;
$q3 = 3;
$q4 = 4;
$q5 = 5;
for($i=1; $i<=5; $i++)
{
$arr[] = ${"q".$i};
}
$str = implode($arr, ',');
print_r($str);
输出:
1,2,3,4,5
答案 1 :(得分:0)
for($i=1; $i<=5; $i++)
{
echo ${"q".$i};
}
输出:
12345
键盘:http://codepad.org/2PIshh41
<强>更新强>
由于您希望将值存储在varible中,因此可以执行以下操作:
$str = '';
for($i=1; $i<=5; $i++)
{
$str .= "${"q".$i}, ";
}
$str = rtrim($str, ' ,'); //trim last comma
mysql_query("INSERT INTO users (col1, col2, col3) VALUES ($str)");
//becomes mysql_query("INSERT INTO users (col1, col2, col3) VALUES (1, 2, 3, 4, 5)")
希望这有帮助!
答案 2 :(得分:0)
for($i=1; $i<=5; $i++)
{
$x = "q$i";
echo $$x;
}
答案 3 :(得分:0)
使用此代码,它应该工作:)
echo ${"q${i}"};
答案 4 :(得分:0)
围绕整个事情的双引号是无用的
使用
echo ${'q' . $i};
编辑:如果你想创建逗号分隔字符串,为什么不试试
$q1 = 1;
$q2 = 2;
$q3 = 3;
$q4 = 4;
$q5 = 5;
$parts = array();
for($i=1; $i<=5; $i++)
{
$parts[] = ${'q' . $i};
}
$str = implode(', ', $parts);
另外考虑在运行MYSQL之前转义值,您可以在for循环中执行此操作,然后将值添加到$parts
数组