2014-09-14 3 views
3

안녕하세요 저는 코딩과 새롭고 stackoverflow 커뮤니티에 새로운 제품입니다. 나는 다음과 같은 출력을 생성하는 코드를 만들려고while while while while loop while 루프는 한 번만 실행됩니다.

:

A0를

B0 지하 1 층 B2의 A1

B0 B1 B2 A2

B0 지하 1 층 B2

이 코드가있는

:

<?php 
    $count1 = 0; 
    $count2 = 0; 
    while ($count1 < 3){ 
     echo "a".$count1."<br>"; 
     while ($count2 < 3){ 
      echo "b".$count2." "; 
      $count2 ++; 
      } 
     $count1++; 
     } 
    ?> 
루프가 한 번만 실행하고 나에게 제공하는 동안 10

내 문제는 중첩이다 :

A0를

내가 원하는 출력을 사용하여 달성 될 수 B0 B1, B2 A1

A2

for 루프 또는 다른 방법 대신, 그러나 이것이 작동하지 않는 이유가 궁금합니다. 또한 while 루프에서 예제를 본 데이터베이스 쿼리를 통해 실행해야하는 코드의 초기 단계이기도합니다.

감사합니다.

+3

내부 루프 '$ count2'를 (를) 통해 한 번은 '3'이므로 외부 루프'(3 <3) '의 두 번째/세 번째 시간은 거짓입니다. 다시 실행하려면'$ count2'를 리셋해야합니다. – Sean

+0

물론, 건배 :) –

답변

3

카운터를 재설정해야합니다. whiles 밖에서 변수를 정의 할 필요는 없습니다. 첫 번째 변수에서 수행하십시오.

$count1 = 0; 
while ($count1 < 3){ 
    echo "a".$count1."<br>"; 
    $count2 = 0; 
    while ($count2 < 3){ 
     echo "b".$count2." "; 
     $count2 ++; 
    } 
    $count1++; 
} 
1

count1을 반복 할 때마다 count2을 재설정해야합니다. 그래서 같이

는 :

<?php 
$count1 = 0; 
$count2 = 0; 
while ($count1 < 3){ 
    echo "a".$count1."<br>"; 
    while ($count2 < 3){ 
     echo "b".$count2." "; 
     $count2 ++; 
    } 
    $count2 = 0; 
    $count1++; 
} 
?> 

또한 for 루프를 할 수 있습니다.

for ($count1 = 0; $count1 < 3; $count1 ++) { 
    echo "a".$count1."<br>"; 
    for ($count2 = 0; $count2 < 3; $count2 ++) { 
     echo "b".$count2." "; 
    } 
} 
1

아웃터 루프가 실행될 때마다 $ count2의 값을 "재설정"해야합니다. $ count2 = 0을 참고하십시오 :

<?php 
$count1 = 0; 
$count2 = 0; 
while ($count1 < 3){ 
    echo "a".$count1."<br>"; 
    while ($count2 < 3){ 
     echo "b".$count2." "; 
     $count2 ++; 
     } 
    $count1++; 
    $count2 = 0; 
    } 
?>