PHP vprintf() 함수
예제
포맷된 문자열을 출력합니다:
<?php $number = 9; $str = "Beijing"; vprintf("자전거가 %s에 있습니다.", array($number, $str)); ?>
정의와 사용법
vprintf() 함수는 포맷된 문자열을 출력합니다.
printf()와 달리, vprintf()의 매개변수는 배열에 위치합니다. 배열 요소는 메인 문자열의 % 기호에 삽입됩니다. 이 함수는 단계적으로 실행됩니다. 첫 번째 % 기호에 첫 번째 배열 요소를 삽입하고, 두 번째 % 기호에 두 번째 배열 요소를 삽입하고, 이를 계속 합니다.
주석:만약 % 기호가 많다면 arg 매개변수가 있으면, 占位符를 사용해야 합니다. 占位符는 '%' 기호 뒤에 삽입되며 숫자와 "\$"로 구성됩니다. 예제 2를 참조하십시오.
힌트:관련 함수: sprintf(), printf(), vsprintf(), fprintf(), vfprintf()
문법
vprintf(format,argarray)
매개변수 | 설명 |
---|---|
format |
필수입니다. 문자열과 그 안의 변수를 어떻게 포맷할지 규정합니다. 가능한 포맷 값:
추가의 포맷 값. '%'와 문자 사이에 필요합니다(예: %.2f):
주석:여러 형식 값을 사용할 경우, 이를 위의 순서로 사용해야 합니다. |
argarray | 필수. 매개변수를 가진 배열이며, 이 매개변수는 위의 순서로 삽입됩니다. format 문자열의 %% 기호 위치 |
기술 세부 사항
반환 값: | 출력된 문자열의 길이를 반환 |
PHP 버전: | 4.1.0+ |
더 많은 예제
예제 1
형식 값 %%f 사용:
<?php $num1 = 123; $num2 = 456; vprintf("%f%f",array($num1,$num2)); ?>
예제 2
대체자 사용:
<?php $number = 123; vprintf("두 자릿수 소수점:%1\$.2f<br>소수점 없음:%1\$u",array($number)); ?>
예제 3
printf()를 사용하여 모든 가능한 형식 값을 보여줍니다:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // ASCII 문자 50는 2 // 주석: 형식 값 "%%"은 퍼센트 기호를 반환 printf("%%b = %b <br>",$num1); // 이진수 printf("%%c = %c <br>",$char); // ASCII 문자 printf("%%d = %d <br>",$num1); // 부호 있는 십진수 printf("%%d = %d <br>",$num2); // 부호 있는 십진수 printf("%%e = %e <br>",$num1); // 소문자 과학적 표기법 printf("%%E = %E <br>",$num1); // 대문자 과학적 표기법 printf("%鑾u <br>",$num1); // 부호 없는 십진수(양수) printf("%鑾u <br>",$num2); // 부호 없는 십진수(음수) printf("%%f = %f <br>",$num1); // 로컬 설정을 고려하는 부동소수점 숫자 printf("%%F = %F <br>",$num1); // 로컬 설정을 고려하지 않는 부동소수점 숫자 printf("%%g = %g <br>",$num1); // 짧게 %e 와 %f printf("%%G = %G <br>",$num1); // 짧게 %E 와 %f printf("%%o = %o <br>",$num1); // 8진수 printf("%%s = %s <br>",$num1); // 문자열 printf("%%x = %x <br>",$num1); // 십육진수(소문자) printf("%%X = %X <br>",$num1); // 십육진수(대문자) printf("%%+d = %+d <br>",$num1); // 부호 표시자(양수) printf("%%+d = %+d <br>",$num2); // 부호 표시자(음수) ?>
예제 4
문자 표시자 설명 예제:
<?php $str1 = "Hello"; $str2 = "Hello world!"; vprintf("[%s]<br>",array($str1)); vprintf("[%8s]<br>",array($str1)); vprintf("[%-8s]<br>",array($str1)); vprintf("[%08s]<br>",array($str1)); vprintf("[%'*8s]<br>",array($str1)); vprintf("[%8.8s]<br>",array($str2)); ?>