PHP sprintf() 함수
예제
percent sign (%)를 전달된 변수로 대체합니다:
<?php $number = 2; $str = "Shanghai"; There are 쥕lion cars in %s.을 sprintf() 함수를 사용하여 변환합니다. echo $txt; ?>
정의 및 사용법
sprintf() 함수는 포맷된 문자열을 변수에 기록합니다.
arg1、arg2、++ 매개변수는 메인 문자열의 % 기호 위치에 삽입됩니다. 이 함수는 단계적으로 실행됩니다. 첫 번째 % 기호에 arg1두 번째 % 기호에 arg2그런 다음, 이와 같이 계속됩니다.
주의사항:만약 % 기호가 많다면 arg 파라미터가 있으면, 기호를 사용해야 합니다. 기호는 '%' 기호 뒤에 위치하며, 숫자와 "\$"로 구성됩니다. 예제 2를 참조하십시오.
안내:관련 함수:printf()、 vprintf()、 vsprintf()、 fprintf() 및 vfprintf()
문법
sprintf(format,arg1,arg2,arg++)
파라미터 | 설명 |
---|---|
format |
필수. 문자열 및 그 안의 변수를 어떻게 포맷할지 정의. 가능한 형식 값:
추가 형식 값. '%'와 문자 사이에 필수로 배치해야 합니다(예:%.2f):
주의사항:이와 같은 여러 가지 형식 값이 사용된다면, 이를 위한 순서에 따라 사용해야 합니다. |
arg1 | 必需. 다음에 삽입할 내용을 정의. format 문자열의 첫 번째 % 기호 위치의 매개변수. |
arg2 | 선택 사항. 다음에 삽입할 내용을 정의. format 문자열의 두 번째 % 기호 위치의 매개변수. |
arg++ | 선택 사항. 다음에 삽입할 내용을 정의. format 문자열의 세 번째, 네 번째 % 기호 위치의 매개변수. |
기술 세부 사항
返回值: | 返回已格式化的字符串。 |
PHP 版本: | 4+ |
更多实例
例子 1
使用格式值 %f:
<?php $number = 123; $txt = sprintf("%f",$number); echo $txt; ?>
例子 2
使用占位符:
<?php $number = 123; $txt = sprintf("带两位小数:%1\$.2f <br>不带小数:%1\$u",$number); echo $txt; ?>
例子 3
对所有可能的格式值的演示:
<?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>"; // 带符号的十进制数 echo sprintf("%%d = %d",$num2)."<br>"; // 带符号的十进制数 echo sprintf("%%e = %e",$num1)."<br>"; // 科学计数法(小写) echo sprintf("%%E = %E",$num1)."<br>"; // 科学计数法(大写) echo sprintf("%鑾u",$num1)."<br>"; // 不带符号的十进制数(正) echo sprintf("%鑾u",$num2)."<br>"; // 不带符号的十进制数(负) echo sprintf("%%f = %f",$num1)."<br>"; // 浮点数(视本地设置) echo sprintf("%%F = %F",$num1)."<br>"; // 浮点数(不视本地设置) echo sprintf("%%g = %g",$num1)."<br>"; // 短于 %e 和 %f echo sprintf("%%G = %G",$num1)."<br>"; // 短于 %E 和 %f echo sprintf("%%o = %o",$num1)."<br>"; // 八进制数 echo sprintf("%%s = %s",$num1)."<br>"; // 문자열 echo sprintf("%%x = %x",$num1)."<br>"; // 십육진수 숫자(소문자) echo sprintf("%%X = %X",$num1)."<br>"; // 십육진수 숫자(대문자) echo sprintf("%%+d = %+d",$num1)."<br>"; // 부호 설명자(양수) echo sprintf("%%+d = %+d",$num2)."<br>"; // 부호 설명자(음수) ?>
예제 4
문자열 설명자에 대한 보기:
<?php $str1 = "Hello"; $str2 = "Hello world!"; 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>"; ?>