PHP变量结果数组

时间:2012-10-03 20:48:43

标签: php arrays variables

我有以下代码:

echo"<input  name=\"q". $i. "\" value=\"4\" id=\"q1a1\" type=\"radio\" ";
    if ($results['q1']==4) echo "checked"
    echo";
    />";

编辑:添加了echo语句,这就是\就地的原因。

部分$results['q1']我希望1的{​​{1}}成为变量 - 这似乎没有达到预期的效果:

'q1'

4 个答案:

答案 0 :(得分:4)

如果你将字符串和变量放在双引号中,整个事情将被评估为1个变量:

if ( $results["q$i"] == 4 ) echo "checked"

答案 1 :(得分:0)

if ($results['q'.$i]==4) echo "checked"

这可以防止字符串插值问题。在这种情况下,这不是一个问题,但我觉得最好远离它,因为它使代码看起来更脏。

答案 2 :(得分:0)

你想写:

if ($results["q".$i]==4) echo "checked"

“。” operator将连接2个字符串以生成字符串,而关联数组则使用字符串。此外,'(引用)运算符内的变量将不会被解析(这是“和”之间的差异)因此'$ i'将只给出字符串$ i。

答案 3 :(得分:0)

你可以做到

 if ( $results["q".$i] == 4 ) echo "checked"; // .(dot) operator concatenates strings/variables.

 if ( $results["q$i"] == 4 ) echo "checked"; // double-quotes evaluates variables inside them.