0

次のコードがあります。

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

編集:エコーステートメントを追加しました。これ\が、その場にある理由です。

のを変数にし$results['q1']たい部分- これは望ましい効果がないようです:1'q1'

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

4 に答える 4

4

文字列と変数を二重引用符で囲むと、全体が 1 つの変数に評価されます。

if ( $results["q$i"] == 4 ) echo "checked"
于 2012-10-03T20:50:28.253 に答える
0
if ($results['q'.$i]==4) echo "checked"

これにより、文字列補間の問題が回避されます。この場合、実際には問題にはなりませんが、コードが汚く見えるので、近づかないほうがいいと思います。

于 2012-10-03T20:52:11.120 に答える
0

あなたが書きたい:

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

「。」演算子は 2 つの文字列を連結して文字列を作成し、連想配列は文字列を取ります。さらに、' (引用符) 演算子内の変数は解析されません (これが " と ' の違いです)。

于 2012-10-03T20:53:30.963 に答える
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.
于 2012-10-03T20:54:27.080 に答える