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

필수입니다. 문자열과 그 안의 변수를 어떻게 포맷할지 규정합니다.

가능한 포맷 값:

  • %% - %를 반환
  • %b - 2진수
  • %c - ASCII 값에 해당하는 문자
  • %d - 부호가 있는 10진수(음수, 0, 양수)
  • %e - 소문자 과학적 기수법을 사용(예: 1.2e+2)
  • %E - 대문자 과학적 기수법을 사용(예: 1.2E+2)
  • 䇙호가 없는 10진수(0 이상)
  • %f - 로컬 설정이 있는 부호(예: %f)
  • %F - 로컬 설정이 아닌 부호가 있는 부호(예: %F)
  • %g - 짧은 %e와 %f
  • %G - 짧은 %E와 %f
  • %o - 8진수
  • %s - 문자열
  • %x - 소문자 숫자(소문자)
  • %X - 대문자 숫자(대문자)

추가의 포맷 값. '%'와 문자 사이에 필요합니다(예: %.2f):

  • + (숫자 앞에 + 또는 -를 추가하여 숫자의 양수와 음수를 정의합니다. 기본적으로, 음수만 표시되고 양수는 표시되지 않습니다)
  • ' (채우기에 사용할 것을 규정, 기본적으로 공백입니다. 너비 지정자와 함께 사용해야 합니다. 예를 들어: '%x20s' ("x"를 채우기에 사용))
  • - (변수 값을 왼쪽 정렬)
  • [0-9] (규정 변수 값의 최소 너비)
  • .[0-9] (소수점 자리수 또는 최대 문자열 길이를 지정)

주석:여러 형식 값을 사용할 경우, 이를 위의 순서로 사용해야 합니다.

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));
?>

실행 예제