vprintf() 함수는 문자열을 형식화된(formatted) 문자열로 변환하여 출력하는 PHP 내장 함수입니다. printf() 함수와 유사하게 동작하지만, 형식 문자열에 삽입할 값들을 개별 인수가 아닌 배열로 전달한다는 점이 특징입니다.
문법
vprintf(format, arg)
매개변수
format − 출력할 문자열과 해당 문자열 안에서 변수를 어떻게 형식화할지 지정합니다.
사용 가능한 형식 지정자는 다음과 같습니다.
%% − 퍼센트(%) 기호를 반환
%b − 이진수
%c − ASCII 값에 해당하는 문자
%d − 부호 있는 10진수 (음수, 0 또는 양수)
%e − 소문자 과학적 표기법 (예: 1.2e+2)
%E − 대문자 과학적 표기법 (예: 1.2E+2)
%u − 부호 없는 10진수 (0 이상)
%f − 부동 소수점 숫자 (로케일 설정 적용)
%F − 부동 소수점 숫자 (로케일 설정 미적용)
%g − %e와 %f 중 더 간결한 표현
%G − %E와 %f 중 더 간결한 표현
%o − 8진수
%s − 문자열
%x − 16진수 (소문자)
%X − 16진수 (대문자)
arg − 형식 문자열 내 % 기호 위치에 삽입될 값들을 담고 있는 배열입니다.
반환값
vprintf() 함수는 형식화되어 출력된 문자열의 길이를 반환합니다.
예제
다음은 vprintf() 함수의 사용 예제입니다.
<?php
$a = 2888;
$b = 8686;
$res = vprintf("%f\n%f", array($a, $b));
echo $res;
?>
출력 결과
2888.000000
8686.00000023
위 예제에서 vprintf() 함수는 배열에 담긴 두 값을 %f 형식으로 변환해 즉시 출력하고, 출력된 문자열의 길이인 23을 반환합니다. 따라서 화면에는 형식화된 문자열 뒤에 반환값 23이 함께 표시됩니다.