php의 sprintf는 형식화된 문자열을 변수에 쓰고 형식화된 문자열을 반환하는 데 사용되는 함수입니다. PHP에서는 버전 4 이상에서 이 sprintf 함수를 지원합니다. sprintf() 함수는 printf() 함수와 유사하지만 둘 사이의 주요이자 유일한 차이점은 sprintf()가 printf() 함수처럼 브라우저에 형식화된 출력을 표시하는 대신 출력을 문자열로 저장한다는 것입니다. sprintf() 함수는 echo와 함께 작동할 수 있습니다. 즉, sprintf()에서 반환된 형식화된 문자열은 echo를 사용하여 브라우저에 인쇄됩니다. 주제를 더 깊이 파고들어 구문, 접근 가능한 형식을 살펴보고 몇 가지 프로그램을 해결해 보겠습니다.
무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
PHP의 sprintf() 함수 구문은 다음과 같습니다.
sprintf(format, arg1, arg2, arg3, …….)
여기서 arg1, arg2, arg3 등은 sprintf()의 매개변수입니다. arg1은 처음에 삽입되는 필수 인수입니다. arg2, arg3, ………삽입할 선택적 인수입니다.
형식: 필수 매개변수이며 변수의 형식을 지정하는 방법에 대한 문자열을 지정합니다.
가능한 형식은 다음과 같습니다.
매개변수
Parameter |
Description |
%b | Argument present as a binary number |
%% | Returns % sign |
%d | Parameter treated as a positive integer, represented as a decimal number |
%c | Parameter treated as an integer, represented as a character with ASCII |
%e | Precision specifier that specifies the number of digits after the decimal point. Scientific notation with lowercase |
%u | Parameter treated as an integer, represented as unsigned integer |
%f | Floating-point number(locale) |
%g | General format |
%o | Represented as Octal number |
%x | Represented as Hexadecimal number with lowercase letters |
%s | Argument presented and treated as a string |
%E | Similar to %e specifier but with Uppercase. |
%F | Floating-point number(Non-locale) |
%G | Similar to %g specifier but uses %E and %F |
%X | Represented with Hexadecimal number but with uppercase |
설명
There are some additional format values, which are placed between % and letter.
Let us see How sprintf() function in PHP works with few examples,
Code:
<!DOCTYPE html> <html> <body> <?php $num1 = 321234; $num2 = 860; $text = sprintf("%f,%f",$num1, $num2); echo $text; ?> </body> </html>
Output:
Here, we have taken two float values and using sprintf() function, scanned the variables, and using echo, have printed the floating values on the console.
Code:
<!DOCTYPE html> <html> <body> <?php $num1 = 4563; $text = sprintf("With 3 decimals: %1\$.3f <br>With no decimals: %1\$u <br>With single decimal: %1\$.1f",$num1); echo $text; ?> </body> </html>
Output:
So here for floating values, we have specified as to no decimals, or single decimal, or 3 decimal values.
Code:
<!DOCTYPE html> <html> <body> <?php $string1 = 'PHPv4'; echo sprintf("[%s]",$string1)."<br>"; echo sprintf("[%08s]",$string1)."<br>"; echo sprintf("[%-8s]",$string1)."<br>"; echo sprintf("[%8s]",$string1)."<br>"; echo sprintf("[%8.8s]",$string1)."<br>"; echo sprintf("[%'*8s]",$string1)."<br>"; ?> </body> </html>
Output:
So based on the output, [%s] will return the string as it is
[%08s] will return string with zero padding [%-8s] will return string with left justification [%8s] will return string with the right justification [%8.8s] will return string with left justification, cuts of characters after a specific value [%’*8s] will return string with additional *Code:
<!DOCTYPE html> <html> <body> <?php $num = 7; $fruits = 'Mangoes'; $arg1 = 'The %2$s are %1$d in number'; echo sprintf($arg1, $num, $fruits); ?> </body> </html>
Output:
So here, format string supports argument swapping/ numbering.
Imagine if the placeholders in format string do not match the order of the arguments as shown above. And hence, we have indicated the arg1 which arguments refer to which placeholders.
Code:
<!DOCTYPE html> <html> <body> <?php $arg1 = 456; $arg2 = -456; $str = 57; echo sprintf("%%b = %b",$arg1)."<br>"; echo sprintf("%%d = %d",$arg1)."<br>"; echo sprintf("%%d = %d",$arg2)."<br>"; echo sprintf("%%c = %c",$str)."<br>"; echo sprintf("%%e = %e",$arg1)."<br>"; echo sprintf("%%u = %u",$arg1)."<br>"; echo sprintf("%%u = %u",$arg2)."<br>"; echo sprintf("%%f = %f",$arg1)."<br>"; echo sprintf("%%f = %f",$arg2)."<br>"; echo sprintf("%%g = %g",$arg1)."<br>"; echo sprintf("%%g = %g",$arg2)."<br>"; echo sprintf("%%o = %o",$arg1)."<br>"; echo sprintf("%%o = %o",$arg2)."<br>"; echo sprintf("%%x = %x",$arg1)."<br>"; echo sprintf("%%x = %x",$arg2)."<br>"; echo sprintf("%%s = %s",$arg1)."<br>"; echo sprintf("%%s = %s",$arg2)."<br>"; echo sprintf("%%E = %E",$arg1)."<br>"; echo sprintf("%%F = %F",$arg1)."<br>"; echo sprintf("%%G = %G",$arg1)."<br>"; echo sprintf("%%X = %X",$arg1)."<br>"; echo sprintf("%%+d = %+d",$arg1)."<br>"; echo sprintf("%%+d = %+d",$arg2)."<br>"; ?> </body> </html>
Output:
So here we have shown all the format specifiers.
With this, we shall conclude the topic ‘sprintf in php’. We have seen the syntax of sprintf() function in PHP. We have seen what each format specifier means and have Illustrated few examples on how to use sprintf in PHP. The above examples will give a clear understanding of all the format specifiers.
위 내용은 PHP의 스프린트프의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!