2012-10-03 90 views
0

我有以下代碼:PHP變量結果陣列

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

編輯:添加echo語句,這就是爲什麼\在原地。

的部分$results['q1']我想要'q1'1是一個變量 - 這似乎並沒有收到預期的效果:

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

回答

4

,如果你把在雙引號字符串和變量,整個事情進行評估,以1個變量:

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

這防止我帶字符串插值的問題。在這種情況下,這不是真正的問題,但我最好遠離它,因爲它會讓代碼看起來更髒。

0

你想寫:

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

了 「」運算符將連接2個字符串以創建一個字符串,而一個關聯數組接收一個字符串。此外變量中'(報價)運營商將不會被解析(這間「和差異「),所以‘$ I’只會給一個字符串$我。

0

OU可以做

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.