2012-10-03 4 views
0

나는 다음과 같은 코드가 있습니다PHP 변수 결과 배열

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

편집을 다음 \이 현장에 왜 에코 문을 추가했습니다.

부분 $results['q1'] 내가 변수가 될하기 위해 'q1'1 싶습니다 -이 원하는 효과를 갖고있는 것 같다하지 않습니다

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

답변

4

당신은 큰 따옴표로 문자열과 변수를 넣어 경우이 모든 것은 한 변수로 평가된다 :

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

이 난을 방지 문자열 보간법을 사용합니다. 이 경우에는별로 문제가되지 않지만 코드를 더러워 보일 때가 멀어지는 것이 좋습니다.

0

당신이 쓰고 싶은 : "."

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

을 연산자는 2 개의 문자열을 연결하여 문자열을 만들고 연관 배열은 문자열을 취합니다. 또한 변수 내부 그래서 '$ 난 그냥 $ 문자열 내가 줄 것이다'((따옴표) 연산자는 그와 "사이의 차이입니다) 구문 분석 할 수 없습니다 '.

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.