PHP 개발에서는 종종 추가 처리 또는 스토리지 전에이 데이터가 유효한 지 확인하기 위해 사용자의 데이터를 처리해야합니다. 양식 데이터에는 일반적으로 숫자, 문자열 또는 널 값과 같은 다른 유형의 값이 포함됩니다. 이 데이터를 처리 할 때는 데이터 유형의 유효성을 보장하는 것이 중요합니다.
IS_NAN () 함수는 PHP에서 값이 "비자"인지 여부를 감지하는 데 사용됩니다 (숫자가 아님). NAN은 일반적으로 부동 수치 유형의 작업에서 발생하지만 특히 사용자가 입력 한 데이터를 확인할 때 양식 데이터 처리에 중요한 역할을 할 수도 있습니다.
이 기사는 PHP 양식 데이터 처리에서 IS_NAN () 기능을 효과적으로 사용하여 처리 된 데이터가 기대치와 일치하는지 확인하는 방법을 소개합니다.
NAN (숫자가 아님)은 "유효하지 않은 숫자"를 나타내는 부동 소수점 번호의 특수 값입니다. NAN은 일반적으로 다음과 같은 상황에서 발생합니다.
계산 결과는 0으로 나눈 값과 같은 유효하지 않은 숫자입니다.
비수막 값을 플로팅 숫자로 변환 할 때
예를 들어 다음 코드는 NAN을 반환합니다.
<?php
$number = 0 / 0; // 0분열0
echo $number; // 산출 NaN
?>
IS_NAN () 함수는 값이 NAN인지 확인하는 데 사용됩니다. 부울 가치를 반환합니다.
값이 NAN 인 경우 true를 반환하십시오
값이 NAN이 아닌 경우 False를 반환하십시오
<?php
$value = 0 / 0; // aNaN값
if (is_nan($value)) {
echo "이것은 a입니다NaN값。";
} else {
echo "이것은 아닙니다NaN값。";
}
?>
양식 데이터를 처리 할 때 사용자가 입력 한 데이터가 예기치 않게 NAN으로 변환 될 수 있습니다. 예를 들어, 사용자가 입력 상자에 유효하지 않은 숫자 (예 : 문자)를 입력하면 PHP가 수치 전환을 수행 할 때 NAN을 생성 할 수 있습니다. 현재 IS_NAN ()을 사용하여 잘못된 숫자가 있는지 여부를 감지 할 수 있습니다.
사용자에게 숫자를 입력하도록 요청하는 양식이 있다고 가정합니다. 사용자가 유효하지 않은 값 (예 : 문자 또는 널 값)을 입력하는 경우 NAN인지 확인하고 사용자에게 다시 입력하라는 메시지를 표시해야합니다.
HTML 양식 코드 :
<form method="post" action="process_form.php">
<label for="number">번호를 입력하십시오:</label>
<input type="text" id="number" name="number">
<input type="submit" value="제출하다">
</form>
php code ( process_form.php ) :
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$userInput = $_POST["number"];
// 입력을 플로팅 번호로 변환하십시오
$numericValue = (float) $userInput;
// 있는지 확인하십시오NaN
if (is_nan($numericValue)) {
echo "당신은 입력했습니다값不예有效的数字,다시 입력하십시오!";
} else {
echo "입력 한 유효한 번호는입니다: " . $numericValue;
}
}
?>
이 예에서 :
사용자가 제출 한 양식 데이터는 $ _post를 통해 수신됩니다.
그런 다음 입력 값을 플로팅 숫자로 변환하려고합니다. 변환이 실패하면 (즉, 입력은 유효하지 않은 번호) PHP는 NAN을 반환합니다.
마지막으로 is_nan () 함수를 사용하여 값이 NAN인지 확인하십시오. 그렇다면 사용자가 다시 입력하라는 메시지가 표시됩니다.
우리가 양식으로 URL 주소를 수집 하고이 주소가 유효한지 확인하려고합니다. 이 경우 URL에는 NAN 값이 포함될 수 있으며 URL의 일부가 불법 번호 인 경우 NAN이 반환 될 수 있습니다. is_nan () 함수와 함께 URL을 확인할 수 있습니다.
다음은 사용자가 URL을 입력 할 양식이 있다고 가정합니다.
<form method="post" action="https://gitbox.net/validate_url.php">
<label for="url">하나를 입력하십시오URL:</label>
<input type="text" id="url" name="url">
<input type="submit" value="제출하다">
</form>
validate_url.php 의 프로세스 양식 데이터 :
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$url = $_POST["url"];
// 조사하다URL유효합니까?
$urlParts = parse_url($url);
// 우리가 걱정한다고 가정 해 봅시다URL호스트 부분
$hostname = isset($urlParts['host']) ? $urlParts['host'] : null;
if (is_nan($hostname)) {
echo "유효하지 않은URL,다시 입력하십시오!";
} else {
echo "당신은 입력했습니다URL예: " . htmlspecialchars($url);
}
}
?>
PHP 양식 데이터 처리에서 IS_NAN () 함수는 개발자가 사용자가 입력 한 숫자가 NAN인지 여부를 감지하는 데 도움이되는 매우 유용한 도구입니다. 이는 특히 숫자 변환, 계산 또는 URL에서 데이터를 추출 할 때 입력 데이터의 유효성을 보장하는 데 중요합니다. 적절한 검증과 프롬프트를 결합하여 개발자는 잘못된 사용자 입력을 효과적으로 피하고 사용자 경험을 향상시킬 수 있습니다.