PHP의 printf() 함수는 형식이 지정된 문자열을 출력하는 데 사용됩니다. 이 함수는 단순히 문자열을 화면에 출력하는 것을 넘어, 다양한 형식 지정자(format specifier)를 활용해 숫자나 문자열을 원하는 형태로 가공할 수 있다는 점에서 매우 유용합니다. 또한 출력된 문자열의 길이를 반환값으로 돌려줍니다.
기본 문법
printf (format, argument1, argument2, ... )
매개변수 설명
format − 출력할 문자열과 그 안에서 변수를 어떻게 형식화할지 지정합니다.
사용 가능한 형식 지정자
%% − 퍼센트(%) 기호 자체를 출력합니다.
%b − 숫자를 2진수로 표현합니다.
%c − ASCII 값에 해당하는 문자를 출력합니다.
%d − 부호 있는 10진수(음수, 0, 양수)를 표현합니다.
%e − 소문자를 사용한 과학적 표기법(예: 1.2e+2)입니다.
%E − 대문자를 사용한 과학적 표기법(예: 1.2E+2)입니다.
%u − 부호 없는 10진수(0 이상)를 표현합니다.
%f − 부동 소수점 수를 표현하며, 로케일(locale) 설정의 영향을 받습니다.
%F − 부동 소수점 수를 표현하며, 로케일 설정의 영향을 받지 않습니다.
%g − %e와 %f 중 더 짧은 표현 방식을 선택합니다.
%G − %E와 %f 중 더 짧은 표현 방식을 선택합니다.
%o − 숫자를 8진수로 표현합니다.
%s − 문자열을 그대로 출력합니다.
%x − 16진수를 소문자 알파벳으로 표현합니다.
%X − 16진수를 대문자 알파벳으로 표현합니다.
argument1 − 형식 문자열에서 첫 번째 %(퍼센트) 기호 위치에 삽입될 값입니다.
argument2 − 형식 문자열에서 두 번째 %(퍼센트) 기호 위치에 삽입될 값입니다.
반환값
printf() 함수는 출력된 문자열의 길이를 정수형으로 반환합니다.
예제 1: 부동 소수점 출력
다음 예제는 정수 값을 %f 형식 지정자를 사용해 부동 소수점 형태로 출력하는 코드입니다.
<?php
$val = 2976;
printf("%f", $val);
?>실행 결과
2976.000000
%f는 기본적으로 소수점 이하 6자리까지 출력하기 때문에, 정수 2976이 2976.000000으로 표시된 것을 확인할 수 있습니다.
예제 2: 문자열 출력
다음 예제는 %s 형식 지정자를 사용해 문자열을 대괄호([])로 감싸서 출력하는 코드입니다.
<?php
$s = "Welcome";
printf("[%s]<br>", $s);
?>실행 결과
[Welcome]
형식 문자열 내의 %s 자리에 변수 $s의 값인 "Welcome"이 삽입되어 출력되었습니다.
마무리
printf() 함수는 C언어 스타일의 형식화된 출력을 PHP에서도 손쉽게 구현할 수 있게 해주는 강력한 도구입니다. 숫자의 자릿수 맞춤, 진법 변환, 소수점 처리 등 다양한 상황에서 활용할 수 있으니, 각 형식 지정자의 특징을 잘 기억해 두면 실무에서 큰 도움이 됩니다.