English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
sprintf() 함수는 포맷된 문자열을 반환합니다。
string sprintf ( string $format[, mixed $args[, mixed $... ]])
문자열을 포맷하는 데 사용되며, 포맷된 문자열을 변수에 기록합니다。
arg1、arg2와++ 매개변수는 메인 문자열의 % 기호에 삽입됩니다. 이 함수는 단계적으로 실행됩니다. 첫 번째 % 기호에 arg를 삽입합니다1두 번째 % 기호에 arg를 삽입합니다2이와 같이 계속됩니다。
주의:만약 % 기호가 arg 매개변수보다 많다면, 占位符를 사용해야 합니다. 占位符는 % 기호 뒤에 삽입되며, 숫자와 "\$"로 구성됩니다. 예제를 참조하세요 2。
힌트:관련 함수:printf()와와와vsprintf()와fprintf() 와vfprintf()
형식화된 문자열을 반환
순번 | 파라미터와 설명 |
---|---|
1 | format 필수 사항. 문자열과 그 안에서 변수를 형식화하는 방법을 지정 가능한 형식 값은 다음과 같습니다:
추가 형식 값. %와 문자 사이에 필수로 배치됩니다(예: %.2f):
주석:이상의 형식 값이 여러 개 사용되는 경우, 그 순서를 깨지지 마세요. |
2 | arg1 필수 사항. 형식화 문자열에 삽입할 첫 번째 매개변수를 지정합니다 |
3 | arg2 선택 사항. 형식화 문자열에 삽입할 두 번째 매개변수를 지정합니다 |
... | arg++ 선택 사항. format 문자열에 삽입할 제3, 4, 5 등의 %% 기호에 대한 매개변수를 지정합니다. |
다음 예제를 시도해 보세요. %f 기호를 파라미터로 전달된 변수로 대체합니다:
<?php //%f 기호를 파라미터로 전달된 변수로 대체하도록 합니다 $number = 123; $txt = sprintf("%f",$number); echo $txt; ?>테스트를 보세요‹/›
결과는 다음과 같아야 합니다
123.000000
파라미터 format의 모든 형식 값의 예시를 보여줍니다:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // ASCII 문자 50은 2 // 주석: 형식 값 "%%"은 퍼센트 기호를 반환 echo sprintf("%%b = %%b",$num1)."<br>"; // 이진수 echo sprintf("%%c = %%c",$char)."<br>"; // ASCII 문자 echo sprintf("%%d = %d",$num1)."<br>"; // signed decimal number echo sprintf("%%d = %d",$num2)."<br>"; // signed decimal number echo sprintf("%%e = %e",$num1)."<br>"; // scientific notation(lowercase) echo sprintf("%%E = %E",$num1)."<br>"; // scientific notation(uppercase) echo sprintf("%鉾u",$num1)."<br>"; // unsigned decimal number(positive) echo sprintf("%鉾u",$num2)."<br>"; // unsigned decimal number(negative) echo sprintf("%%f = %f",$num1)."<br>"; // floating-point number(considering local settings) echo sprintf("%%F = %F",$num1)."<br>"; // floating-point number(not considering local settings) echo sprintf("%%g = %g",$num1)."<br>"; // shorter than %e and %f echo sprintf("%%G = %G",$num1)."<br>"; // shorter than %E and %f echo sprintf("%%o = %o",$num1)."<br>"; // 8진수 echo sprintf("%%s = %s",$num1)."<br>"; // 문자열 echo sprintf("%%x = %x",$num1)."<br>"; // 16진수(소문자) echo sprintf("%%X = %X",$num1)."<br>"; // 16진수(대문자) echo sprintf("%%+d = %+d",$num1)."<br>"; // 시그너처 지시자(양수) echo sprintf("%%+d = %+d",$num2)."<br>"; // 시그너처 지시자(음수) ?>테스트를 보세요‹/›
결과는 다음과 같아야 합니다
%b = 111010110111100110100010101 %c = 2 %d = 123456789 %d = -123456789 %e = 1.234568e+8 1.234568E+8 頻, 123456789 頻, 18446744073586094827 %f = 123456789.000000 %F = 123456789.000000 %g = 1.23457e+8 %G = 1.23457E+8 %o = 726746425 %s = 123456789 %x = 75bcd15 %X = 75BCD15 %+d = +123456789 %+d = -123456789
문자 지시자 설명 예제:
<?php $str1 = "Hello"; $str2 = "Hello PHP!"; echo sprintf("[%s]",$str1)."<br>"; echo sprintf("[%8s]",$str1)."<br>"; echo sprintf("[%-8s]",$str1)."<br>"; echo sprintf("[%08s]",$str1)."<br>"; echo sprintf("[%*8s]",$str1)."<br>"; echo sprintf("[%8.8s]",$str2)."<br>"; ?>테스트를 보세요 ‹/›
출력 결과:
[Hello] [ Hello] [Hello ] [000Hello] [***Hello] [Hello PH]