PHP 개발에서는 종종 양식 제출, URL 매개 변수 또는 API 요청 데이터와 같은 사용자의 입력을 처리해야합니다. 후속 논리 또는 계산의 정확성을 보장하려면 이러한 입력 데이터의 유형을 결정하는 것이 중요합니다. 특히 사용자가 부동 소수점 번호를 입력 할 것으로 예상하면 확인이 추가되지 않으면 프로그램 예외 또는 논리 오류가 발생할 수 있습니다. 이 기사는 PHP의 IS_Double () 함수를 사용하여 숫자 유형의 사용자 입력을 판단하여 데이터 처리의 정확성과 견고성을 향상시키는 방법을 소개합니다.
PHP에서 IS_DOUBLE ()은 변수가 이중 정제 플로팅 포인트 수 (즉, 플로트 유형)인지 결정하는 데 사용되는 함수입니다. is_double () 는 is_float () 의 별칭입니다. 둘 다의 함수는 정확히 동일하며 기능은 변수가 부동 소수점 번호인지 여부를 결정하는 것입니다.
기능 프로토 타입은 다음과 같습니다.
bool is_double(mixed $var)
$ var : 확인할 변수입니다.
반환 값 : 변수가 float 유형 인 경우 true를 반환합니다. 그렇지 않으면 false 를 반환합니다.
양 계산, 변환 백분율 또는 물리적 측정 데이터 처리와 같은 수학적 계산과 관련된 기능을 개발할 때 입력이 부동 소수점 번호인지 확인하는 것이 매우 중요합니다. 예를 들어, 사용자가 가격을 "123.45"로 제출하는 경우이 값이 문자열이나 정수가 아닌 실제로 부동 소수점 유형인지 확인해야합니다.
다음은 간단한 사용 예제로 양식에서 사용자 입력 데이터를 수신 한 다음 is_double () 함수를 사용하여 판단을합니다.
<?php
$input = $_POST['price'] ?? '';
if (is_numeric($input)) {
$floatValue = (float)$input;
if (is_double($floatValue)) {
echo "사용자는 유효한 플로팅 포인트 번호를 입력합니다:$floatValue";
} else {
echo "사용자 입력은 부동 소수점 번호가 아닙니다。";
}
} else {
echo "사용자 입력은 숫자 값이 아닙니다。";
}
?>
위의 코드 로직은 다음과 같습니다.
게시물 요청에서 사용자가 입력 한 "가격"필드를 가져옵니다.
IS_NUMERIC ()를 사용하여 예비 판단을 먼저하고 값이 숫자인지 확인하십시오.
플로트 유형으로 캐스트 한 다음 is_double ()을 사용하여 유형을 확인하십시오.
해당 신속한 정보를 제공하십시오.
입력 검증은 무시할 수 없습니다 : 실제 개발에서는 사용자 입력이 신뢰할 수 없을 수 있습니다. 특히 데이터베이스 작성 및 금융 거래와 같은 주요 링크에서 확인을 위해 유형 판단 기능 (예 : IS_Double () )을 사용해야합니다.
브라우저의 프런트 엔드 검증에 의존하지 마십시오 . 프론트 엔드 검증은 쉽게 우회되어 있으며 백엔드는 중복 검증을 받아야합니다.
플로팅 포인트 정확도 오류 방지 : 고정밀 작업에 부동 소수점 번호를 사용할 때는 정확도 문제를 해결하십시오. 필요한 경우 BCMATH 또는 GMP 확장을 사용할 수 있습니다.
할인 가격을 처리 해야하는 온라인 상점이 있으며, 사용자는 할인 비율을 입력해야한다고 상상해보십시오 (예 : 0.85는 85% 할인). 다음은 전체 예입니다.
<?php
$discountInput = $_POST['discount'] ?? '';
if (is_numeric($discountInput)) {
$discount = (float)$discountInput;
if (is_double($discount) && $discount > 0 && $discount < 1) {
$originalPrice = 100.0;
$finalPrice = $originalPrice * $discount;
echo "원래 가격:$originalPrice 원,할인 후 가격은입니다:$finalPrice 원";
} else {
echo "다음을 입력하십시오 0 도착하다 1 유효한 할인 값 사이。";
}
} else {
echo "잘못된 입력,부동 소수점 값이어야합니다。";
}
?>
이 논리를 로컬로 테스트하거나 https://gitbox.net/discount 에 배포 할 수 있습니다.
PHP에서 IS_DOUBLE () 함수를 사용하면 변수가 플로팅 포인트 수인지 여부를 효과적으로 결정하여 데이터 처리의 정확성과 보안을 향상시킬 수 있습니다. IS_FLOAT () 의 별칭이지만 기능은 데이터 유형에 대한 개발자의 설계 의도를 명확히하는 것입니다. 유형 변환과 입력 검증 로직을 결합하여보다 안정적이고 신뢰할 수있는 PHP 응용 프로그램을 구축 할 수 있습니다.
적절한 유형의 판단 및 데이터 검증을 통해 개발자는 많은 숨겨진 논리 취약점을 피하고 시스템 견고성 및 사용자 경험을 향상시킬 수 있습니다.