최신 웹 개발 튜토리얼
 

PHP vsprintf() Function

<PHP 문자열 참조

변수에 형식 문자열을 쓰기 :

<?php
$number = 9;
$str = "Beijing";
$txt = vsprintf("There are %u million bicycles in %s.",array($number,$str));
echo $txt;
?>
»실행 예

정의 및 사용

vsprintf() 함수는 변수에 서식 첨부 캐릭터 라인을 기록합니다.

달리 sprintf() 에서 인수 vsprintf() , 어레이로 배치된다. 어레이 요소는 퍼센트로 삽입한다 (%) 주 캐릭터의 징후. 이 기능은 작동 "step-by-step" . 제 % 기호, 제 1 어레이의 소자들은 제 기호 %, 제 2 어레이 소자 등을 삽입하고, 삽입

Note: 인수보다 더 %의 징후가있는 경우, 당신이 자리를 사용해야합니다. 자리 표시는 % 기호 다음에 삽입하고, argument- 수와 구성되어 있습니다 "\$" . 예를 들어 두를 참조하십시오.

Tip: 관련 기능 : fprintf() , vfprintf() , printf() , sprintf()vprintf() .


통사론

vsprintf( format,argarray )

매개 변수 기술
format 필요합니다. 문자열 어떻게의 변수를 포맷하는 방법을 지정합니다.

가능한 형식 값 :

  • %%는 - 퍼센트 기호를 돌려줍니다
  • %의 B - 진수
  • %의 C - 문자 ASCII 값에 따라
  • %의 D - 서명 진수 (negative, zero or positive)
  • % 전자 - 과학 소문자 표기를 사용하여 (eg 1.2e+2)
  • %의 E - 과학적 표기법 대문자 사용 (eg 1.2E+2)
  • U %를 - 부호 진수 (equal to or greather than zero)
  • % F - 부동 소수점 수 (local settings aware)
  • % F - 부동 소수점 수 (로컬 설정을 인식하지)
  • g % - % E와 F %의 짧은
  • % G - %의 E와 % F의 단축
  • % 오 - 8 진수
  • % S - 문자열
  • % X - 16 진수 (lowercase letters)
  • %의 X - 16 진수 (uppercase letters)

추가 형식 값. 이들은 %와 문자 사이에 위치 (example %.2f) :

  • + (- 숫자 앞의 기본적에만 음수가 표시된 두 부대 +).
  • '(패딩으로 사용할 것을 지정 기본이 공간 너비 지정자와 함께 사용해야합니다 예 :... %'x20s가 (this uses "x" as padding)
  • - (Left-justifies the variable value)
  • [0-9] (Specifies the minimum width held of to the variable value)
  • . [0-9] (십진수 문자열 또는 최대 길이의 수를 지정)

Note: 여러 개의 추가 형식의 값을 사용하는 경우, 그들은 위와 같은 순서로해야합니다.

argarray 필요합니다. 인수 배열은 형식 문자열에 % 기호에 삽입하기

기술적 세부 사항

반환 값 : 포맷 된 문자열로 배열 값을 돌려줍니다
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("With 2 decimals: %1\$.2f
<br>With no decimals: %1\$u",array($number));
echo $txt;
?>
»실행 예

예 3

사용 sprintf() 가능한 모든 형식의 값을 보여합니다 :

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // The ASCII Character 50 is 2

// Note: The format value "%%" returns a percent sign
echo sprintf("%%b = %b",$num1)."<br>"; // Binary number
echo sprintf("%%c = %c",$char)."<br>"; // The ASCII Character
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 = %u",$num1)."<br>"; // Unsigned decimal number (positive)
echo sprintf("%%u = %u",$num2)."<br>"; // Unsigned decimal number (negative)
echo sprintf("%%f = %f",$num1)."<br>"; // Floating-point number (local settings aware)
echo sprintf("%%F = %F",$num1)."<br>"; // Floating-point number (not local sett aware)
echo sprintf("%%g = %g",$num1)."<br>"; // Shorter of %e and %f
echo sprintf("%%G = %G",$num1)."<br>"; // Shorter of %E and %f
echo sprintf("%%o = %o",$num1)."<br>"; // Octal number
echo sprintf("%%s = %s",$num1)."<br>"; // String
echo sprintf("%%x = %x",$num1)."<br>"; // Hexadecimal number (lowercase)
echo sprintf("%%X = %X",$num1)."<br>"; // Hexadecimal number (uppercase)
echo sprintf("%%+d = %+d",$num1)."<br>"; // Sign specifier (positive)
echo sprintf("%%+d = %+d",$num2)."<br>"; // Sign specifier (negative)
?>
»실행 예

예 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>";
?>
»실행 예

<PHP 문자열 참조