PHP에서 Sprintf 함수는 문자열을 형식화하는 데 사용되며, 이는 지정된 형식을 변수에 적용하고 형식화 된 문자열을 반환 할 수 있습니다. 실제 개발에서 우리는 종종 sprintf 함수를 사용하여 숫자, 문자열, 부울 및 널 값을 포함하여 출력을 포맷합니다. 그러나 Sprintf , 특히 부울 및 널 값에서 다른 유형의 값이 다르게 처리됩니다.
이 기사는 Sprintf 함수가 부울 및 널 값을 처리하고 특정 상황을 분석하는 방법을 살펴 봅니다.
Sprintf 함수의 기본 구문은 다음과 같습니다.
sprintf(string $format, mixed ...$values): string
여기서 $ 형식은 출력의 형식을 정의하는 형식화 된 문자열입니다. $ 값은 형식 문자열로 전달되는 하나 이상의 값입니다. 공통 서식 기호는 다음과 같습니다.
%s : 문자열을 나타냅니다
%D : 서명 된 소수점 정수를 나타냅니다
%F : 부동 소수점 번호를 나타냅니다
%B : 이진수를 나타냅니다
PHP에서 부울은 사실 이거나 거짓 일 수 있지만 Sprintf 와 부울을 포맷 할 때 어떻게 처리할까요?
부울 가치 사실
부울이 참이 되면 Sprintf 는 문자열 "1" 으로 변환합니다. PHP에서는 True 의 해당 값이 1 이기 때문입니다.
부울 가치 거짓
부울 값이 False 인 경우 Sprintf는 PHP에서 해당 값 이 0 이기 때문에 문자열 "0" 으로 변환합니다.
$trueValue = true;
$falseValue = false;
echo sprintf("부울 가치 true 형식으로:%s\n", $trueValue); // 산출: 부울 가치 true 형식으로:1
echo sprintf("부울 가치 false 형식으로:%s\n", $falseValue); // 산출: 부울 가치 false 형식으로:0
위의 코드에서는 true and false가 "1" 및 "0" 으로 형식화되며 PHP의 부울 값의 성능과 일치합니다.
PHP에서 NULL은 값이없는 변수를 나타내는 데 사용되는 특수 유형입니다. Sprintf를 사용하여 NULL 이 형식화되면 NULL은 문자열 "" (빈 문자열)로 변환됩니다.
$nullValue = null;
echo sprintf("null 형식으로:%s\n", $nullValue); // 산출: null 형식으로:
위에서 볼 수 있듯이 NULL 값은 Sprintf 의 빈 문자열로 변환되며 출력이 없습니다.
부울 및 널 값을 포맷 할 때 다음 사항에주의를 기울여야합니다.
부울 참은 "1" 으로 변환되고 거짓은 "0" 으로 변환되며, 부울 값이 필요한 일부 시나리오에서는 다른 영향을 미칠 수 있습니다.
NULL은 빈 문자열 "" 로 형식화됩니다. 서식 후 특정 값을 표시하려면 서식 전에 조건부 판단을 할 수 있습니다.
$nullValue = null;
$formattedNull = sprintf("null 값: %s", $nullValue === null ? '无값' : $nullValue);
echo $formattedNull; // 산출: null 값: 无값
이 예에서는 조건부 판단에 의해 NULL 값을 사용자 정의 문자열 'No Value' 로 바꾸어 문자열을 형식화 할 때 NULL이 빈 문자열로 나타나지 않도록 할 수 있습니다.
위의 분석을 통해 다음을 볼 수 있습니다.
부울 값은 Sprintf 에서 "1" ( True ) 또는 "0" ( False )로 변환됩니다.
sprintf 의 null 값은 빈 문자열로 변환됩니다 "" .
따라서 Sprintf 의 이러한 동작을 이해하는 것이 매우 중요합니다. 특히 부울 및 널 값에 관해서는 포맷 된 출력을 피하기 위해 처리 방법을 명확히해야합니다.