개요
PHP로 이중 for문의 대표적인 예제인 대각선 모양 별 찍기를 하는 법을 알아보자.

위와 같이 1행에는 별 1개, 2행에는 별 2개,..., n행에는 별 n개를 출력하는 코드를 써 볼 것이다.
수정 (20250312): '개요' 소제목 추가
1. 별 n개 출력하기
일단 변수 n에 대해 별 n개를 출력하는 코드를 생각해 본다. 그런 코드는 다음과 같다.
for($i=1; $i<=$n; $i++){
echo "*";
}
i를 1에서부터 n까지 1씩 증가시키는데, 그때마다 별 한개를 찍는다.
n에 3을 대입한 뒤 프로그램을 실행하면 별 세 개가 찍히는 것을 확인할 수 있다. (프로그램 실행은 이 사이트에서 했다.)

<?php
$n=3;
for($i=1; $i<=$n; $i++){
echo "*";
}
?>
2. 대각선 모양으로 별 출력하기: 5줄

위 그림을 관찰하면 n을 1에서 5까지 증가시키며 별을 n개 출력했다는 것을 알 수 있다. 이를 의사코드로 표현하면 다음과 같다.
for ($n=1;$n<=5;$n++){
// 별 n개 출력하기
// 줄 바꾸기
}
별 n개를 출력하는 코드는 이미 만들어 놓았기 때문에 "// 별 n개 출력하기"라고 쓰여 있는 부분에 해당 코드를 넣으면 된다. 그 후 줄빠꿈을 하는 코드를 추가시킨다.
for($n=1; $n<=5; $n++){
for($i=1; $i<=$n; $i++){
echo "*";
}
echo "\n"; //줄바꿈
}
위 코드를 실행시키면 원하는 결과가 나오는 것을 확인할 수 있다.

3. 대각선 모양으로 별 출력하기: n줄
이제 n을 변수로 두고 1행부터 n행까지 대각선으로 별을 출력하는 함수를 만들어 보자.
일단 코드에서 변수 이름을 바꾼다.
for($i=1; $i<=5; $i++){
for($j=1; $j<=$i; $j++){
echo "*";
}
echo "\n";
}
n으로 불리던 변수를 i로 바꾸었고, i로 불리던 변수를 j로 바꾸었다. n이라는 변수는 다른 용도로 쓰기 위해서다.
위의 코드는 5행까지 별을 출력하는데, n행까지 별을 출력하려면 i의 상한선을 n으로 두면 된다. 그 결과는 다음과 같다.
for($i=1; $i<=$n; $i++){ // 바뀐 줄은 이 줄 밖에 없다.
for($j=1; $j<=$i; $j++){
echo "*";
}
echo "\n";
}
이를 n을 실행인자로 받는 함수 안에 넣으면, 1행부터 n행까지 대각선 모양으로 별을 출력하는 함수가 된다.
function print_stars($n){
for($i=1; $i<=$n; $i++){
for($j=1; $j<=$i; $j++){
echo "*";
}
echo "\n";
}
return 0;
}
예시로 print_stars(10)을 실행시키면 10행까지 대각선 모양으로 별이 출력된다.

<?php
function print_stars($n){
for($i=1; $i<=$n; $i++){
for($j=1; $j<=$i; $j++){
echo "*";
}
echo "\n";
}
return 0;
}
print_stars(10);
?>'프로그래밍 > 기타' 카테고리의 다른 글
| HTML의 <iframe> 태그 (0) | 2026.02.01 |
|---|---|
| Java 상속에서 생성자 (1) | 2025.04.18 |
| Java의 static 변수 (0) | 2025.04.11 |
| PHP로 Vigenère 치환을 하는 웹 애플리케이션 만들기 (0) | 2025.03.17 |
| PHP로 네트워크 주소 구하기 (4) | 2025.01.27 |