PHP 개발에서 데이터의 정당성과 보안을 보장하는 것이 매우 중요합니다. 특히 사용자가 입력 한 데이터. PHP는 다양한 내장 필터를 제공합니다. 여기서 filter_sanitize_number_float는 플로팅 포인트 숫자를 포함하는 청소 문자열에 일정합니다. 숫자, 소수점, 플러스 또는 네거티브 부호를 제외한 문자열의 모든 문자를 제거 할 수 있으며 종종 양식 데이터 전처리, API 수신 매개 변수 및 기타 시나리오에 사용됩니다.
filter_sanitize_number_float의 표준 사용량은 다음과 같습니다.
$sanitized_number = filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT, $filter_options);
매개 변수 설명 :
$number = "5a.1b4 2c2";
$sanitized_number = filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT);
echo $sanitized_number;
출력 결과 :
<span class="fun">5.1422</span>
이 예에서는 원래 문자열의 비 언어 문자가 지워지고 법적 번호와 소수점 만 남습니다.
필터 플래그를 사용하면 출력 결과의 형식을 추가로 제어 할 수 있습니다.
$number = "8.9000";
$sanitized_number = filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION | FILTER_FLAG_STRIP_TAIL);
echo $sanitized_number;
출력 결과 :
<span class="fun">8.9</span>
Filter_flag_strip_tail 에서 테일의 중복 비율을 제거하여 데이터의 청결도를 향상시킵니다.
일부 국제 응용 프로그램에서는 소수점이 아닐 수도 있습니다 . 예를 들어, 유럽 국가는 사용할 수 있습니다 . PHP를 사용하면 옵션을 통해 사용자 정의 소수점 포인트를 설정할 수 있습니다.
$number = "8,9";
$filter_options = array("decimal" => ",");
$sanitized_number = filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT, array("options" => $filter_options));
echo $sanitized_number;
출력 결과 :
<span class="fun">8.9</span>
"Decimal"=> " 를 설정함으로써 필터는 쉼표를 소수점으로 인식하고 숫자를 올바르게 구문 분석합니다.
Filter_Sanitize_number_float는 Floating Point 숫자 문자열 데이터를 처리하기위한 PHP의 중요한 도구입니다. 비수표가 아닌 문자를 효과적으로 필터링하고 소수판 기호를 유지하며 유연한 옵션 구성을 지원할 수 있습니다. 데이터 검증, 표준화 형식 또는 데이터 처리의 견고성 향상이든, 개발자의 손에 강력한 도구입니다.