PHP에서는 종종 형식의 출력을 처리해야합니다. 특히 숫자를 다룰 때 제로 패딩이 일반적인 요구 사항입니다. PHP는 정수 전에 제로를 채우는 요구 사항을 쉽게 구현할 수있는 형식의 문자열 출력을 구현하기 위해 매우 강력한 기능 Sprintf를 제공합니다.
Printf 및 Sprintf 함수는 PHP에서 일반적으로 사용되는 두 가지 문자열 형식 기능입니다. Printf는 형식화 된 문자열을 출력하는 데 사용되는 반면 Sprintf는 형식으로 된 문자열을 반환합니다. 그것들은 거의 동일하게 사용됩니다. 차이는 하나는 직접 출력이고 다른 하나는 리턴 값이라는 것입니다.
Sprintf를 사용하면 숫자의 최소 너비를 지정하고 숫자 앞에 0을 채워야합니다. 이 기능은 일반적으로 전화 번호, 날짜, 주문 번호 등을 처리 할 때 사용됩니다.
$number = 5;
$formattedNumber = sprintf("%03d", $number);
echo $formattedNumber; // 산출 005
위의 예에서는 %03D를 사용하여 형식을 지정했습니다. 형식의 의미는 다음과 같습니다.
%는 형식 지정자의 시작을 나타냅니다.
0 패딩이 없음을 의미합니다.
3은 너비가 3임을 의미합니다.
D는 정수 형식을 나타냅니다.
이러한 방식으로, 숫자 5는 005 로 형식화됩니다. 즉, 3 자리 수에 도달 할 때까지 숫자 앞에 2 개의 0이 채워집니다.
너비를 수정하면 다른 숫자가 형식화 될 수 있습니다. 몇 가지 예는 다음과 같습니다.
$number1 = 42;
$number2 = 7;
echo sprintf("%05d", $number1); // 산출 00042
echo sprintf("%05d", $number2); // 산출 00007
이 예에서 숫자 42는 00042 로 채워지고 7은 00007 로 채워져있어 출력이 항상 5 자리가되도록합니다.
순서대로 배열 된 숫자를 포함하여 파일 이름이있는 파일 업로드 시스템을 개발한다고 가정하면 숫자에 항상 특정 숫자가 있는지 확인해야 할 수도 있습니다. 현재 Sprintf를 사용 하여이 요구 사항을 달성 할 수 있습니다.
$fileNumber = 8;
$fileName = sprintf("file_%03d.txt", $fileNumber);
echo $fileName; // 산출 file_008.txt
이 예에서는 파일 이름 File_008.txt 가 형식화되어 번호가 매겨진 부분이 항상 3 자리인지 확인합니다.
음수 : Sprintf는 또한 음수를 처리 할 수 있습니다. 예를 들어, Sprintf ( "%03d", -5)는 -05를 출력합니다.
부동 소수점 번호 : 부동 소수점 번호의 경우 %.2F 와 유사한 형식을 사용하여 소수점 후 숫자 수를 지정할 수 있습니다.
문자열 형식 : 숫자 외에도 Sprintf 는 문자열, 날짜 등을 지원합니다.
Sprintf 함수를 사용하면 숫자를 포맷하고 0을 채우는 데 매우 편리하여 출력시 숫자가 항상 고정 너비를 유지하도록합니다. 주문 번호, ID 번호 및 흐름 번호와 같은 시나리오를 처리하는 데 매우 유용합니다. 유연한 형식 제어를 사용하면 필요에 맞는 출력 형식을 쉽게 달성 할 수 있습니다.
신체와 나머지 기사 사이에 수평 분리가 추가되었습니다.