2011-06-13 3 views
0

내 의도는 $car1, $car2 등의 출력을 HTML 출력 예 : Toyota, BMW ...로 출력하는 것입니다. 그러나 HTML 출력에 $car2이 표시됩니다. 루프 출력을 만드는 방법은 무엇입니까? $car1, $car2 ... 이렇게하려면 echo 이외의 다른 함수가 있습니까? 짧게,변수를 출력하기위한 문자열과 변수

for ($i = 1; $i <= 10; $i++) { 
    $varName = "car" . $i; 
    echo $$varName . "<br />"; 
} 

또는 :

for ($i = 1; $i <= 10; $i++) { 
    echo $car . $i; 
    echo "<br>"; 
} 
+0

'echo'는 함수가 아닙니다, 당신은'
를 의미한다. –

답변

1

당신은 variable variables 찾고있는

for ($i = 1; $i <= 10; $i++) { 
    echo ${'car' . $i} . "<br />"; 
} 

당신은하지만, arrays 더 나을거야.

+0

감사합니다. 그것은 훌륭하게한다. –

+0

@BenMatewe : 걱정할 필요가 없습니다. 배열을 체크 아웃하는 것을 잊지 마십시오. –

+0

감사합니다. 그들은 확실히 강력하고 코드를 크게 줄였습니다. –

0

내가 추측하고있어 :

당신은라는 변수의 무리가 있습니다

  • $ car1
  • $ car2
  • $ car3
  • $ car4
  • 을 ...

그리고 지금 당신은 그들이이를 사용하여 출력하고자 :

echo $car . $i; 

그래서 당신이 코드가 당신을 위해 $car1을 생성하려면?

이것은 작동하지 않습니다. 이렇게하면 안됩니다. 자동차를 저장하려면 array을 사용해야합니다. for 또는 foreach -loop을 사용하여 반복 할 수 있습니다.

+1

효과가 있습니다. 가장 좋은 접근 방법은 아니지만 "이 방법이 효과가 없을 것"이라는 것은 잘못되었습니다. –

+0

오. 나는 그것을 믿을 때까지 스스로 시험해야했지만, 당신 말이 맞습니다. 어쨌든, 배열은 여기에서 사용할 것입니다. –

+0

동의. 그러므로 나로부터의 downvote. :) –

0

Tomalak이 언급했듯이이 경우 배열을 사용해야합니다.

$car[] = "Honda"; 
$car[] = "Toyota"; 
$car[] = "Dodge"; 
$car[] = "Ford"; 

for($i = 0; $i<=3; $i++){ 
    echo $car[$i]; 
    echo "<br>"; 
} 

출력 :`

Honda 
Toyota 
Dodge 
Ford 
+0

입력 해 주셔서 감사합니다. 지적 된 배열에 포인트. –

관련 문제