PHP vsprintf() 함수
예제
포맷된 문자열을 변수에 기록합니다:
<?php $number = 9; $str = "Beijing"; $txt = vsprintf("⌹대의 자전거가 %s에 있습니다.", array($number, $str)); echo $txt; ?>
정의와 사용법
vsprintf() 함수는 포맷된 문자열을 변수에 기록합니다.
sprintf()와 다르게 vsprintf()에서는 매개변수가 배열에 위치합니다. 배열 요소는 메인 문자열의百分号(%)기호 위치에 삽입됩니다. 이 함수는 단계별로 실행됩니다. 첫 번째 % 기호 위치에서 첫 번째 배열 요소를 삽입하고, 두 번째 % 기호 위치에서 두 번째 배열 요소를 삽입하여 이를 계속 합니다.
주석:만약 '%' 기호가 많다면 arg 매개변수가 없으면, 대체 문자를 사용해야 합니다. 대체 문자는 '%' 기호 뒤에 숫자와 "\$"로 구성됩니다. 예제 2를 참조하십시오。
추천:관련 함수:
문법
vsprintf(format,argarray)
매개변수 | 설명 |
---|---|
format |
필수. 문자열 및 그 안의 변수를 어떻게 형식화할지 지정 가능한 형식 값:
추가 형식 값. '%'와 문자 사이에 위치해야 합니다(예:%.2f):
주석:위의 형식 값 중 여러 가지를 사용할 경우, 그 순서를 바꿀 수 없습니다. |
argarray | 필수. 매개변수를 가진 배열이며, 이 매개변수들은 format 문자열에서 % 기호 위치. |
기술 세부 사항
반환 값: | 배열 값을 형식화된 문자열 형태로 반환합니다。 |
PHP 버전: | 4.1.0+ |
더 많은 예제
예제 1
사용자 정의 값 %f를 사용합니다:
<?php $num1 = 123; $num2 = 456; $txt = vsprintf("%f%f",array($num1,$num2)); echo $txt; ?>
예제 2
대체 기호 사용:
<?php $number = 123; $txt = vsprintf("소수점 2자리:%1$.2f<br>소수점 없음:%1$u",array($number)); echo $txt; ?>
예제 3
sprintf()를 사용하여 모든 가능한 형식 값을 보여줍니다:
<?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>"; // 8진수 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 vsprintf("[%s]",array($str1))."<br>"; echo vsprintf("[%8s]",array($str1))."<br>"; echo vsprintf("[%-8s]",array($str1))."<br>"; echo vsprintf("[%08s]",array($str1))."<br>"; echo vsprintf("[%'*8s]",array($str1))."<br>"; echo vsprintf("[%8.8s]",array($str2))."<br>"; ?>