PHP sprintf() 함수

예제

percent sign (%)를 전달된 변수로 대체합니다:

<?php
$number = 2;
$str = "Shanghai";
There are 쥕lion cars in %s.을 sprintf() 함수를 사용하여 변환합니다.
echo $txt;
?>

실행 예제

정의 및 사용법

sprintf() 함수는 포맷된 문자열을 변수에 기록합니다.

arg1arg2++ 매개변수는 메인 문자열의 % 기호 위치에 삽입됩니다. 이 함수는 단계적으로 실행됩니다. 첫 번째 % 기호에 arg1두 번째 % 기호에 arg2그런 다음, 이와 같이 계속됩니다.

주의사항:만약 % 기호가 많다면 arg 파라미터가 있으면, 기호를 사용해야 합니다. 기호는 '%' 기호 뒤에 위치하며, 숫자와 "\$"로 구성됩니다. 예제 2를 참조하십시오.

안내:관련 함수:printf()、 vprintf()、 vsprintf()、 fprintf() 및 vfprintf()

문법

sprintf(format,arg1,arg2,arg++)
파라미터 설명
format

필수. 문자열 및 그 안의 변수를 어떻게 포맷할지 정의.

가능한 형식 값:

  • %% -百分号 %를 반환
  • %b - 이진수
  • %c - ASCII 값에 해당하는 문자
  • %d - 양수와 음수를 포함하는 데시imal 숫자(음수, 0, 양수)
  • %e - 소문자 과학적 표기법을 사용
  • %E - 대문자 과학적 표기법을 사용
  • 䧪수를 포함하지 않는 데시imal 숫자(0 이상)
  • %f - 로컬 설정의 부동소수점 숫자
  • %F - 비 로컬 설정의 부동소수점 숫자
  • %g - 짧은 %e와 %f
  • %G - 짧은 %E와 %f
  • %o - 8진수
  • %s - 문자열
  • %x - 소문자 16진수
  • %X - 대문자 16진수

추가 형식 값. '%'와 문자 사이에 필수로 배치해야 합니다(예:%.2f):

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

주의사항:이와 같은 여러 가지 형식 값이 사용된다면, 이를 위한 순서에 따라 사용해야 합니다.

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

실행 예제