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

PHP로 피라미드 패턴 출력하기: 단계별 예제 코드

PHP에서는 반복문과 문자열 출력 함수를 활용하여 다양한 패턴을 손쉽게 만들 수 있습니다. 이번 글에서는 별(*) 기호를 이용해 피라미드 모양의 패턴을 콘솔에 출력하는 방법을 예제와 함께 살펴보겠습니다.

피라미드 패턴 출력 예제

아래 코드는 사용자 정의 함수 print_pattern을 선언하고, 원하는 행(row) 개수만큼 피라미드 패턴을 생성하는 예제입니다.

<?php
function print_pattern($val)
{
   $num = 2 * $val - 2;
   for ($i = 0; $i < $val; $i++)
   {
      for ($j = 0; $j < $num; $j++)
      echo " ";
      $num = $num - 1;
      for ($j = 0; $j <= $i; $j++ )
      {
         echo "* ";
      }
      echo "\n";
   }
}
$val = 7;
print_pattern($val);
?>

실행 결과

         *
        * *
       * * *
      * * * *
     * * * * *
    * * * * * *
   * * * * * * *

코드 동작 원리

이 프로그램의 핵심 로직은 다음과 같습니다.

1. 공백 계산: 변수 $num2 * $val - 2 공식으로 초기화됩니다. 이 값은 각 행 앞에 들어갈 공백의 개수를 결정하며, 행이 내려갈수록 1씩 감소하여 피라미드가 중앙을 기준으로 대칭을 이루도록 만듭니다.

2. 외부 반복문: 첫 번째 for 문은 전체 행의 개수($val)만큼 반복합니다. 즉, 7을 전달하면 7줄의 피라미드가 생성됩니다.

3. 공백 출력: 두 번째 for 문은 현재 행에 필요한 만큼 공백을 출력한 뒤 $num 값을 1 감소시킵니다.

4. 별표 출력: 세 번째 for 문은 현재 행 번호($i)보다 하나 많은 개수의 별표를 출력합니다. 그 결과 첫 번째 줄에는 별 1개, 두 번째 줄에는 별 2개가 찍히는 식으로 점진적으로 늘어납니다.

5. 줄바꿈 처리: 각 행이 완성되면 echo "\n";을 통해 줄바꿈을 출력하여 다음 행이 새로운 줄에서 시작되도록 합니다.

마지막으로 $val = 7;로 행 개수를 지정한 후 print_pattern($val);을 호출하면 위와 같은 피라미드 패턴이 화면에 출력됩니다. $val 값을 변경하면 원하는 크기의 피라미드를 자유롭게 만들 수 있습니다.