PHP printf() 함수
정의와 사용법
printf() 함수는 포맷된 문자열을 출력합니다.
arg1와arg2와arg++ 매개변수는 주 문자열의 % 기호에 삽입됩니다. 이 함수는 단계적으로 실행됩니다. 첫 번째 % 기호에 arg1두 번째 % 기호에 arg2그런 다음 계속하여 삽입합니다.
주석:만약 % 기호가 많다면 arg 매개변수가 있을 경우, 占位符를 사용해야 합니다. 占位符는 % 기호 뒤에 삽입되며 숫자와 "\$"로 구성됩니다. 예제 2를 참조하세요.
추천:관련 함수: sprintf(), vprintf(), vsprintf(), fprintf(), vfprintf()
문법
printf(format,arg1,arg2,arg++)
매개변수 | 설명 |
---|---|
format |
필수입니다. 문자열과 그 안에 있는 변수를 어떻게 포맷할지 정의합니다. 가능한 포맷 값:
추가적인 포맷 값은 %와 알파벳 사이에 위치해야 합니다. 예를 들어 %.2f:
주석:위의 포맷 값이 여러 개 사용되는 경우, 순서를 바꿀 수 없습니다. |
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); ?>