English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 기본 강의

PHP 고급 강의

PHP & MySQL

PHP 참조 설명서

PHP sprintf() 함수 사용법 및 예제

   PHP String 문자열 함수 매뉴얼

    sprintf() 함수는 포맷된 문자열을 반환합니다。

문법

string sprintf ( string $format[, mixed $args[, mixed $... ]])

정의와 사용법

문자열을 포맷하는 데 사용되며, 포맷된 문자열을 변수에 기록합니다。

arg1、arg2와++ 매개변수는 메인 문자열의 % 기호에 삽입됩니다. 이 함수는 단계적으로 실행됩니다. 첫 번째 % 기호에 arg를 삽입합니다1두 번째 % 기호에 arg를 삽입합니다2이와 같이 계속됩니다。

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

힌트:관련 함수:printf()vsprintf()fprintf()vfprintf()

반환 값

형식화된 문자열을 반환

파라미터

순번파라미터와 설명
1

format

필수 사항. 문자열과 그 안에서 변수를 형식화하는 방법을 지정

가능한 형식 값은 다음과 같습니다:

  • %% - 한 개의 퍼센트 기호 %를 반환

  • %b - 이진수

  • %c - ASCII 값에 해당하는 문자

  • %d - 소수점이 있는 십진수(음수, 0, 양수)

  • %e - 소문자 과학적 기수법 사용(예를 들어 1.2e+2

  • %E - 대문자 과학적 기수법 사용(예를 들어 1.2E+2

  • 㩵n - 소수점이 없는 십진수(0 이상)

  • %f - 부동소수점 수(로컬 설정)

  • %F - 부동소수점 수(로컬 설정)

  • %g - 단순한 %e와 %f

  • %G - 단순한 %E와 %f

  • %o - 8진수

  • %s - 문자열

  • %x - 16진수(소문자)

  • %X - 16진수(대문자)

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

  • + ](숫자 앞에 추가) + 또는 - 로 숫자의 부정적(음수)과 긍정적(양수)을 정의합니다. 기본적으로, 음수만 표시되고 양수는 표시되지 않습니다)

  • ](填充을 지정하는 것, 기본적으로 공백입니다. 너비 지정자와 함께 사용해야 합니다. 예를 들어: %'x20s(填充 "x" 사용)

  • - ](변수 값이 왼쪽에 정렬됩니다)

  • ][0-9] (변수 값의 최소 너비를 지정)

  • ][0-9] (소수점 자리수나 최대 문자열 길이를 지정)

주석:이상의 형식 값이 여러 개 사용되는 경우, 그 순서를 깨지지 마세요.

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]

PHP String 문자열 함수 매뉴얼