PHP 프로그래밍에서 유형 확인 및 유형 변환은 특히 사용자 입력 또는 외부 데이터를 처리 할 때 불가피한 작업입니다. 이 기사는 intval ()와 함께 is_long ()을 사용할 때 몇 가지 실용적인 팁을 소개하고 개발자가 정수 값을보다 안전하고 효과적으로 검증 할 수 있도록 실용적인 코드 예제를 제공합니다.
IS_Long () 은 PHP의 유형 확인 함수이며 변수가 긴 유형 인지 확인하는 데 사용됩니다. 그러나 대부분의 64 비트 시스템에서 IS_Long ()은 정수를 int 유형에 균일하게 통합하기 때문에 is_int () 와 동일하다는 점에 유의해야합니다.
$value = 123;
if (is_long($value)) {
echo "하나입니다 long 정수。";
} else {
echo "아니요 long 유형。";
}
출력 결과는 다음과 같습니다.
하나입니다 long 정수。
intval ()은 변수를 정수로 변환하는 데 사용되는 유형 변환 함수입니다. 문자열, 부동 소수점 번호 또는 부울 값을 다룰 때 매우 유용합니다. 예를 들어:
$input = "42abc";
$intValue = intval($input);
echo $intValue;
출력 결과는 다음과 같습니다.
42
이 기능은 자동으로 비 숫자 부품을 자르므로 사용자 입력을 처리 할 때 특히 중요합니다.
사용자 입력 값이 정수인지 확인하고 프로그램 내부의 진정한 정수인지 확인 해야하는 경우 두 사람을 사용하는 것은 매우 신뢰할 수있는 솔루션입니다. 예를 들어,이 조합은 양식 데이터, API 요청 매개 변수 또는 URL 쿼리 매개 변수를 처리 할 때 특히 중요합니다.
$input = $_GET['id'] ?? '';
$intId = intval($input);
if (is_long($intId) && $intId > 0) {
// 안전하게 사용하십시오 $intId
$url = "https://gitbox.net/item.php?id=" . $intId;
echo "<a href=\"$url\">세부 사항을 확인하십시오</a>";
} else {
echo "ID 유효하지 않은。";
}
위의 코드에서는 $ _get [ 'id']를 intval ()을 통해 정수로 변환 한 다음 is_long ()을 사용하여 유형이 정수인지 확인합니다. 동시에, 우리는 또한 0보다 큰 것을 확인하여 데이터의 보안을 향상시킵니다.
일반적인 실수는 문자열에서 직접 is_long ()을 사용하는 것입니다. 문자열이 숫자 형식이더라도 일반적으로 False를 반환합니다.
Error example:
$input = "123";
if (is_long($input)) {
echo "예 long 유형。";
} else {
echo "아니요 long 유형。";
}
출력 결과는 다음과 같습니다.
아니요 long 유형。
$ 입력은 정수가 아닌 문자열 유형이기 때문입니다. 올바른 방법은 먼저 intval ()를 사용하는 것입니다.
$intValue = intval($input);
if (is_long($intValue)) {
echo "转换后예 long 유형。";
}
IS_LONG () 과 intVAL () 의 조합은 이전 코드에서 매우 일반적이지만 PHP 8 이상에서 filter_var ()를 사용하여 정수 값을 확인하는 것이 더 현대적이고 안전한 관행입니다.
$input = $_GET['id'] ?? '';
if (filter_var($input, FILTER_VALIDATE_INT)) {
$url = "https://gitbox.net/item.php?id=" . intval($input);
echo "<a href=\"$url\">세부 사항을 확인하십시오</a>";
} else {
echo "유효하지 않은的 ID。";
}
is_long () 및 intval ()을 함께 사용하면 정수 데이터 검증의 엄격함을 크게 향상시킬 수 있지만 문자열의 원래 입력의 직접 유형 판단이 유효하지 않은 것과 같은 한계에주의를 기울일 수 있습니다. 모범 사례의 경우 전통적인 접근 방식 대신 Filter_var ()를 사용하는 것을 고려하십시오. URL과 관련된 데이터를 처리 할 때 다음과 같은 매개 변수를 포함시킵니다.
$id = intval($_GET['id'] ?? 0);
$url = "https://gitbox.net/item.php?id=" . $id;
echo "<a href=\"$url\">도약</a>";
합리적인 유형 변환 및 검증은 코드의 품질을 향상시킬뿐만 아니라 잠재적 인 보안 위험을 효과적으로 피합니다.