Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP로 연속 알파벳 패턴 삼각형 출력하는 방법

PHP에서는 별(*)이나 숫자 패턴뿐만 아니라 영어 알파벳을 연속으로 출력하는 삼각형 패턴도 손쉽게 만들 수 있습니다. 이번 글에서는 chr() 함수를 활용해 A부터 시작하는 연속 문자를 삼각형 형태로 출력하는 프로그램을 살펴보겠습니다.

예제 코드

<?php
function continuous_alphabets($val)
{
   $num = 65;
   for ($m = 0; $m < $val; $m++)
   {
      for ($n = 0; $n <= $m; $n++ )
      {
         $ch = chr($num);
         echo $ch." ";
         $num = $num + 1;
      }
      echo "\n";
   }
}
$val = 6;
continuous_alphabets($val);
?>

실행 결과

A
B C
D E F
G H I J
K L M N O
P Q R S T U

코드 설명

위 코드의 동작 원리를 단계별로 살펴보면 다음과 같습니다.

1. 아스키 코드 초기화: 변수 $num을 65로 설정합니다. 아스키 코드에서 65는 대문자 'A'에 해당하며, 이후 1씩 증가할 때마다 B, C, D 순서로 다음 알파벳이 생성됩니다.

2. 외부 반복문(행 제어): 첫 번째 for 반복문은 삼각형의 행(row) 수를 결정합니다. 매개변수로 전달받은 값만큼 행이 반복됩니다.

3. 내부 반복문(열 제어): 두 번째 for 반복문은 각 행에 출력할 문자 개수를 제어합니다. 행 번호가 증가할수록 한 줄에 출력되는 문자 수도 하나씩 늘어나면서 자연스럽게 삼각형 모양이 만들어집니다.

4. chr() 함수: PHP 내장 함수인 chr()는 아스키 코드 값을 해당 문자로 변환해 줍니다. 예를 들어 chr(66)은 'B'를 반환합니다.

5. 함수 호출 및 출력: 마지막으로 한계값 6을 인자로 전달하여 continuous_alphabets() 함수를 호출하면, 총 6개의 행으로 구성된 연속 알파벳 삼각형이 콘솔에 출력됩니다.

이처럼 별이나 숫자 패턴을 만드는 방식과 로직은 완전히 동일하며, 단지 출력 대상을 알파벳 문자로 바꾼 것만 차이가 있습니다. 소문자 패턴을 원한다면 시작 값을 97('a'의 아스키 코드)로 변경하면 됩니다.