PHP fprintf() 함수

예제

텍스트를 "test.txt"라는 텍스트 파일에 쓰기:

<?php
$number = 9;
$str = "Beijing";
$file = fopen("test.txt", "w");
echo fprintf($file,"There are 쥕lion bicycles in %s.",$number,$str);
?>

위 코드의 출력:

40

다음 텍스트는 파일 "test.txt"에 쓰일 예정입니다:

베이징에는 9천만 개의 자전거가 있습니다.

정의와 사용법

fprintf() 함수는 포맷된 문자열을 지정된 출력 스트림(예: 파일이나 데이터베이스)에 씁니다.

arg1arg2arg++ 파라미터는 메인 문자열의 % 기호에 삽입됩니다. 이 함수는 단계적으로 실행됩니다. 첫 번째 % 기호에 arg1두 번째 % 기호에 arg2그렇다면, 그 다음으로 계속.

주석:만약 % 기호가 많다면 arg 파라미터가 있으면,占位符를 사용해야 합니다.占位符는 % 기호 뒤에 삽입되며 숫자와 "\$"로 구성됩니다. 예제 2를 참조하세요.

관련 함수:

문법

fprintf(stream,format,arg1,arg2,arg++)
파라미터 설명
stream 필수. 문자열을 어디에 쓰거나 출력할지 정의합니다.
format

필수. 문자열과 그 안의 변수를 어떻게 포맷할지 정의합니다.

가능한 포맷 값:

  • %% - % 기호를 반환
  • %b - 이진수
  • %c - ASCII 값에 해당하는 문자
  • %d - 부호가 있는 십진수(음수, 0, 양수)
  • %e - 소문자 과학적 표기법 사용(예: 1.2e+2)
  • %E - 대문자 과학적 표기법 사용(예: 1.2E+2)
  • 䇙호가 없는 십진수(0 이상)
  • %f - 로컬 설정 부동소수점수
  • %F - 로컬 설정이 아닌 부동소수점수
  • %g - 짧은 %e와 %f
  • %G - 짧은 %E와 %f
  • %o - 8진수
  • %s - 문자열
  • %x - 소문자 16진수
  • %X - 대문자 16진수

추가된 포맷 값. 반드시 %와 문자 사이에 위치해야 합니다. 예를 들어 %.2f:

  • + (숫자 앞에 + 또는 -를 추가하여 숫자의 부정성을 정의)
    기본적으로, 음수만 표시되고, 양수는 표시되지 않습니다.
  • ' (채우기로 사용할 문자를 정의, 기본적으로 공백입니다. 너비 지정자와 함께 사용해야 합니다.)
    예를 들어: '%x20s' ("x"를 사용하여 채우기)
  • - (변수 값을 왼쪽 정렬)
  • .[0-9] (변수 값의 최소 너비를 정의)
  • .[0-9] (소수점 자리수 또는 최대 문자열 길이를 정의)

주석:여러 추가 형식 값이 사용되는 경우, 위의 순서로 사용해야 합니다.

arg1 필수 사항. 삽입할 위치를 정의 format 문자열 중 첫 번째 % 기호 위치의 매개 변수
arg2 선택 사항. 매개 변수를 삽입할 위치를 정의 format 문자열 중 두 번째 % 기호 위치의 매개 변수
arg++ 선택 사항. 매개 변수를 삽입할 위치를 정의 format 문자열 중 세 번째, 네 번째 등 % 기호 위치의 매개 변수

기술 세부 사항

반환 값: 쓰인 문자열의 길이를 반환
PHP 버전: 5+

更多实例

예제 1

텍스트를 파일에 쓰기:

<?php
$number = 123;
$file = fopen("test.txt", "w");
fprintf($file, "%f", $number);
?>

아래 텍스트는 파일 "test.txt"에 쓰여질 것입니다:

123.000000

예제 2

대체 기호 사용:

<?php
$number = 123;
$file = fopen("test.txt", "w");
fprintf($file, "有两位小数:%1$.2f
\n소수점 없음:%1$u", $number);
?>

아래 텍스트는 파일 "test.txt"에 쓰여질 것입니다:

두 자리 소수점: 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); // 부호 지시자(음수)
?>

실행 예제