PHP printf() 함수

예제

포맷된 문자열 출력:

<?php
$number = 9;
$str = "베이징";
printf("%s에 자전거가 있습니다", $str, $number);
?>

실행 예제

정의와 사용법

printf() 함수는 포맷된 문자열을 출력합니다.

arg1arg2arg++ 매개변수는 주 문자열의 % 기호에 삽입됩니다. 이 함수는 단계적으로 실행됩니다. 첫 번째 % 기호에 arg1두 번째 % 기호에 arg2그런 다음 계속하여 삽입합니다.

주석:만약 % 기호가 많다면 arg 매개변수가 있을 경우, 占位符를 사용해야 합니다. 占位符는 % 기호 뒤에 삽입되며 숫자와 "\$"로 구성됩니다. 예제 2를 참조하세요.

추천:관련 함수: sprintf(), vprintf(), vsprintf(), fprintf(), vfprintf()

문법

printf(format,arg1,arg2,arg++)
매개변수 설명
format

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

가능한 포맷 값:

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

추가적인 포맷 값은 %와 알파벳 사이에 위치해야 합니다. 예를 들어 %.2f:

  • + 또는 -를 숫자 앞에 추가하여 숫자의 양수/음수를 정의합니다. 기본적으로 음수만 표시되며, 양수는 표시되지 않습니다.
  • 填充의 사용을 규정하는 것입니다. 기본적으로 공백이 사용됩니다. 너비 지정자와 함께 사용해야 합니다.
  • - (변수 값을 왼쪽 정렬)
  • .[0-9] (변수 값의 최소 너비를 지정)
  • .[0-9] (소수점 자리수 또는 최대 문자열 길이를 지정)

주석:위의 포맷 값이 여러 개 사용되는 경우, 순서를 바꿀 수 없습니다.

arg1 必需. 다음에 삽입할 format 문자열 중 첫 번째 % 기호의 위치에 있는 매개변수
arg2 必需. 다음에 삽입할 format 문자열 중 두 번째 % 기호의 위치에 있는 매개변수
arg++ 선택 사항. 다음에 삽입할 format 문자열 중 제3, 4, 등 % 기호의 위치에 있는 매개변수

기술 세부 사항

반환 값: 출력된 문자열의 길이를 반환
PHP 버전: 4+

추가 예제

예제 1

포맷 값 %f 사용:

<?php
$number = 123;
printf("%f",$number);
?>

실행 예제

예제 2

대체 기호 사용:

<?php
$number = 123;
printf("두 자릿수 소수점:%1\$.2f<br>소수점 없음:%1\$u",$number);
?>

실행 예제

예제 3

모든 가능한 포맷 값의 시연:

<?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!";
printf("[%s]<br>", $str1);
printf("[%8s]<br>", $str1);
printf("[%-8s]<br>", $str1);
printf("[%08s]<br>", $str1);
printf("[%'*8s]<br>", $str1);
printf("[%8.8s]<br>", $str2);
?>

실행 예제