PHP vfprintf() 함수
예제
텍스트를 "test.txt"라는 텍스트 파일에 기록합니다:
<?php $number = 9; $str = "Beijing"; $file = fopen("test.txt","w"); echo vfprintf($file,"There are 쥕lion bicycles in %s.",array($number,$str)); ?>
위 코드는 다음과 같이 출력됩니다:
40
다음 텍스트는 파일 "test.txt"에 기록됩니다:
Beijing에는 9천만 개의 자전거가 있습니다.
정의와 사용법
vfprintf() 함수는 형식화된 문자열을 지정된 출력 스트림(예: 파일이나 데이터베이스)에 씁니다.
fprintf()와 달리, vfprintf()의 매개변수는 배열에 위치합니다. 배열 요소는 메인 문자열의 % 기호에 삽입됩니다. 이 함수는 단계적으로 실행됩니다. 첫 번째 % 기호에 첫 번째 배열 요소를 삽입하고, 두 번째 % 기호에 두 번째 배열 요소를 삽입하고 이렇게 계속합니다.
주석:% 기호가 많다면 arg 매개변수가 있으면, 대체기호를 사용해야 합니다. 대체기호는 % 기호 뒤에 숫자와 "\$"로 구성됩니다. 예제 2를 참조하세요.
관련 함수:
문법
vfprintf(stream,format,argarray)
매개변수 | 설명 |
---|---|
stream | 필수. 문자열을 쓰거나 출력할 위치를 정의합니다. |
format |
필수. 문자열 및 변수의 포맷화 방법을 정의합니다. 가능한 포맷 값:
추가된 포맷 값. %와 문자 사이에 위치해야 합니다(예: %.2f):
주석:여러 형식 값이 사용되면, 이들은 위의 순서로 배치되어야 합니다. |
argarray | 필수. 매개변수를 가진 배열, 이 매개변수는 삽입됩니다 format 문자열의 %% 기호 위치 |
기술 세부 사항
반환 값: | 쓰인 문자열의 길이를 반환 |
PHP 버전: | 5+ |
더 많은 예제
예제 1
텍스트를 파일에 기록합니다:
<?php $num1 = 123; $num2 = 456; $file = fopen("test.txt","w"); vfprintf($file,"%f%f",array($num1,$num2)); ?>
아래 텍스트는 파일 "test.txt"에 기록됩니다:
123.000000456.000000
예제 2
置换기호를 사용하여:
<?php $number = 123; $file = fopen("test.txt","w"); vfprintf($file,"With 2 decimals: %1$.2f \n소수점 없음: %1$u",array($number)); ?>
아래 텍스트는 파일 "test.txt"에 기록됩니다:
2개의 소수점: 123.00 소수점 없음: 123
예제 3
printf()를 사용하여 모든 가능한 형식 값을 보여줍니다:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // ASCII 문자 50은 2 // 주석: 형식 값 "%%"는 百분号을 반환 printf("%%b = %%b <br>", $num1); // 이진수 printf("%%c = %%c <br>", $char); // ASCII 문자 printf("%%d = %%d <br>", $num1); // 부호가 있는 십진수 printf("%%d = %%d <br>", $num2); // 부호가 있는 십진수 printf("%%e = %%e <br>", $num1); // 과학적 표기법(소문자) printf("%%E = %%E <br>", $num1); // 과학적 표기법(대문자) printf("%鑾u <br>", $num1); // 부호가 없는 10진수(양수) printf("%鑾u <br>", $num2); // 부호가 없는 10진수(음수) printf("%%f = %f <br>", $num1); // 로컬 설정을 고려하는 부동소수점 수 printf("%%F = %F <br>", $num1); // 로컬 설정을 무시하는 부동소수점 수 printf("%%g = %g <br>", $num1); // %e와 %f보다 짧은 것 printf("%%G = %G <br>", $num1); // %E와 %f보다 짧은 것 printf("%%o = %o <br>", $num1); // 8진수 printf("%%s = %s <br>", $num1); // 문자열 printf("%%x = %x <br>", $num1); // 소문자 16진수 printf("%%X = %X <br>", $num1); // 대문자 16진수 printf("%%+d = %+d <br>", $num1); // 부호 설명자(양수) printf("%%+d = %+d <br>", $num2); // 부호 설명자(음수) ?>