문자열을 포맷하고 직접 출력없이 문자열을 반환하는 데 사용됩니다. 형식의 문자열은 변수에 할당되거나 다른 처리에 사용할 수 있습니다.
fprintf
문자열을 포맷하고 지정된 파일 스트림 (예 : 파일, 표준 출력 등)에 결과를 쓰는 데 사용되면 문자열을 반환하지 않지만 기록 된 문자 수를 반환합니다.
// sprintf 문법
string sprintf(string $format, mixed ...$values)
// fprintf 문법
int fprintf(resource $stream, string $format, mixed ...$values)
측면 | Sprintf | fprintf |
---|---|---|
반환 값 | 형식으로 된 문자열을 반환합니다 | 작성된 문자 수를 반환합니다 |
출력 방법 | 직접 출력하지 않고 문자열 만 반환하십시오 | 지정된 파일 스트림에 서식 된 문자열을 쓰십시오 |
시나리오를 사용하십시오 | 문자열을 포맷하고 나중에 사용해야합니다 (저장, 처리, 출력) | 포맷 된 컨텐츠를 파일 또는 출력 스트림에 직접 작성해야합니다. |
매개 변수 수 | 형식 문자열 + 변수 | 파일 스트림 자원 + 형식 문자열 + 변수입니다 |
응용 프로그램 범위 | 널리, 문자열이 형식화되어야하는 경우 | 파일 작동, 로그 쓰기, 표준 출력 |
<?php
$name = "Alice";
$age = 30;
$formatted = sprintf("Name: %s, Age: %d\n", $name, $age);
echo $formatted;
?>
이 코드에서 Sprintf는 서식 된 문자열을 $ 형식 으로 반환하고 Echo를 통해 출력합니다.
<?php
$file = fopen("gitbox.net/uploads/user.txt", "w");
if ($file) {
$name = "Bob";
$age = 25;
fprintf($file, "Name: %s, Age: %d\n", $name, $age);
fclose($file);
} else {
echo "파일을 열 수 없습니다\n";
}
?>
여기에서 fprintf는 포맷 된 문자열을 파일 스트림 $ 파일 에 직접 씁니다.
Sprintf 에 적용 가능한 시나리오 :
변수에 값을 할당하고, 문자열 스 플라이 싱 수행 및 다른 함수로 전달하는 것과 같이 문자열을 포맷하지만 직접 출력하지 않아야합니다.
출력 또는 스토리지 전에 문자열을 동적으로 구성해야합니다.
fprintf는 시나리오에 적합합니다.
형식화 된 문자열은 로그 파일과 같은 파일 또는 스트림에 직접 작성해야합니다.
명령 줄 스크립트에서 일반적으로 사용되는 표준 출력 (예 : 터미널 및 콘솔)으로 출력해야합니다.
이 둘의 차이를 이해하면 PHP에서 프로그래밍 할 때는 자원의 불필요한 낭비 및 코드 복잡성을 피할 때 문자열 서식과 출력을보다 효과적으로 처리하는 데 도움이 될 수 있습니다.