fprintf 함수는 지정된 파일 포인터 또는 출력 스트림에 형식의 문자열을 작성하는 데 사용됩니다. 기본 구문은 다음과 같습니다.
fprintf(resource $handle, string $format, mixed ...$args): int
$ 핸들 : 파일 포인터, 일반적으로 fopen () 에서 열린 파일 핸들.
$ 형식 : 형식 문자열은 printf 함수와 유사한 출력 컨텐츠의 구조를 정의합니다.
$ args : 포맷 해야하는 매개 변수는 하나 이상일 수 있습니다.
fprintf 함수는 작성된 문자 수를 반환하고 오류가 발생하면 False를 반환합니다.
vfprintf 함수는 fprintf 와 유사하지만 주요 차이점은 매개 변수가 전달되는 방식에 있습니다. VFPrintf는 각 형식의 인수를 개별적으로 전달하지 않고 어레이를 인수로 전달할 수 있습니다. 기본 구문은 다음과 같습니다.
vfprintf(resource $handle, string $format, array $args): int
$ 핸들 : 파일 포인터.
$ 형식 : 형식 문자열.
$ args : 형식화 된 매개 변수를 포함하는 배열.
vfprintf 함수는 또한 기록 된 문자 수를 반환하거나 오류가 발생하면 False를 반환합니다.
FPRINTF : 각 형식 매개 변수는 별도의 매개 변수로 전달되어야합니다.
fprintf($fileHandle, "Hello %s, your balance is %d", $name, $balance);
VFPRINTF : 형식화 된 매개 변수는 배열로 전달되며, 매개 변수 수가 불확실하거나 매개 변수의 소스가 배열 인 상황에 적합합니다.
$args = ["John", 1000];
vfprintf($fileHandle, "Hello %s, your balance is %d", $args);
이 차이는 특히 형식화 된 매개 변수를 동적으로 생성 할 때 VFPrintf 가보다 유연하게 만듭니다.
FPRINTF 는 더 적은 형식의 형식 매개 변수를 처리 할 때 더 간결하고 간단합니다.
VFPrintf는 여러 매개 변수를 전달해야 할 때, 특히 매개 변수가 배열에서 나오거나 매개 변수를 동적으로 생성해야 할 때 더 큰 유연성을 제공합니다.
성능 관점에서 두 기능의 차이는 매우 작습니다. 대부분의 실제 응용 분야에서 차이는 성능에 큰 영향을 미치지 않습니다. fprintf 또는 vfprintf를 사용하는 선택은 주로 코드 구조와 매개 변수가 통과되는 방법에 따라 다릅니다.
고정 된 매개 변수 : 전달해야 할 매개 변수 수를 이미 알고있을 때이 매개 변수가 사전 정의 된 경우 FPRINTF를 사용하는 것이 더 직관적이고 간결합니다.
예:
$fileHandle = fopen("example.txt", "w");
$name = "Alice";
$balance = 500;
fprintf($fileHandle, "Hello %s, your balance is %d", $name, $balance);
fclose($fileHandle);
간단한 출력 : 간단한 출력 시나리오에서 FPRintf는 일반적인 선택입니다.
동적 매개 변수 : VFPRINTF는 프로그램이 실행될 때 다른 상황에 따라 매개 변수를 동적으로 생성 할 때 더 적합합니다. 특히 매개 변수가 배열에서 나오면 VFPrintf가 특히 편리한 것으로 보입니다.
예:
$fileHandle = fopen("example.txt", "w");
$args = ["Bob", 250];
vfprintf($fileHandle, "Hello %s, your balance is %d", $args);
fclose($fileHandle);
배치 처리 : 많은 양의 데이터를 처리하는 경우 데이터가 이미 배열에 저장된 경우 VFPRINTF를 사용하면 여러 매개 변수의 반복 전달을 피할 수 있으며 코드는 더 간단합니다.
확장 성 : VFPRINTF는 기능을 확장해야 할 때 더 높은 확장 성을 제공하거나 나중에 형식 매개 변수 수를 변경할 수 있습니다.