PHP 프로그래밍에서 문자열이 숫자인지 여부를 결정해야합니다. 이 요구 사항은 데이터 검증, 사용자 입력 처리, 양식 검증 등과 같은 시나리오에서 특히 일반적입니다. PHP는 매우 실용적인 내장 기능 IS_NUMERIC 을 제공하며, 이는 변수가 숫자 문자열인지 신속하게 결정할 수 있습니다.
이 기사는 IS_NUMERIC 기능을 사용하는 방법 과이 기능을 더 잘 이해하고 적용하는 데 도움이되는 실용적인 응용 프로그램 예제를 자세히 소개합니다.
IS_NUMERIC는 변수가 숫자인지 숫자 문자열인지를 감지하는 PHP의 함수입니다. 부울 값을 반환합니다 .
변수가 정수, 부동 소수점 번호 또는 숫자로 구성된 문자열 (소수점, 긍정적 인 징후 및 과학 표기법 포함) 인 경우 함수는 true를 반환합니다.
그렇지 않으면 거짓이 반환됩니다.
함수 정의 :
bool is_numeric ( mixed $var )
매개 변수 $ var는 감지하려는 변수입니다.
다음은 IS_NUMERIC 의 사용을 보여주는 몇 가지 코드 예제입니다.
<?php
$values = [
"123",
"12.3",
"-123",
"1e10",
"abc",
"123abc",
"",
" 123 ",
null,
123,
12.3
];
foreach ($values as $value) {
if (is_numeric($value)) {
echo "'$value' 숫자 또는 숫자 문자열입니다\n";
} else {
echo "'$value' 숫자 문자열이 아닙니다\n";
}
}
?>
출력 결과 :
'123' 숫자 또는 숫자 문자열입니다
'12.3' 숫자 또는 숫자 문자열입니다
'-123' 숫자 또는 숫자 문자열입니다
'1e10' 숫자 또는 숫자 문자열입니다
'abc' 숫자 문자열이 아닙니다
'123abc' 숫자 문자열이 아닙니다
'' 숫자 문자열이 아닙니다
' 123 ' 숫자 문자열이 아닙니다
'' 숫자 문자열이 아닙니다
'123' 숫자 또는 숫자 문자열입니다
'12.3' 숫자 또는 숫자 문자열입니다
결과에서 알 수 있듯이 IS_Numeric은 과학 표기법으로 표시되는 정수, 부동 소수점 번호, 음수 및 숫자 문자열을 인식 할 수 있지만 공백이나 문자를 포함하는 문자열을 지원하지 않습니다.
<?php
$user_input = "45.67";
if (is_numeric($user_input)) {
echo "입력 한 것은 법적 번호입니다";
} else {
echo "입력은 숫자가 아닙니다,다시 입력하십시오";
}
?>
매개 변수가 URL로부터 얻어 졌다고 가정하면, 매개 변수가 불법 주입을 방지하기위한 숫자인지 여부를 결정해야합니다.
<?php
$id = $_GET['id'] ?? '';
if (is_numeric($id)) {
echo "효과적인ID: " . intval($id);
} else {
echo "유효하지 않은ID매개 변수";
}
?>
숫자 문자열은 IS_Numeric 에 의해 결정되지만 정수가 필요한 경우 Intval 또는 유형 변환으로 추가 처리 될 수 있습니다.
IS_NUMERIC은 양의 및 부정적인 표시, 소수점 및 과학 표기법을 가진 문자열을 -3.14 및 +1E3 과 같은 숫자로 인식 할 것 입니다 .
빈 줄, 순수한 공간 줄 및 영숫자 혼합 줄은 모두 false를 반환합니다.
변수가 순수한 정수인지 확인 해야하는 경우 CTYPE_DIGIT를 사용할 수 있지만 서명되지 않은 숫자 문자열 만 지원합니다.
부동 소수점 번호 또는 정수를 판단 해야하는 경우 필터 _var 와 정규식을 결합하여 더 엄격한 탐지를 달성 할 수 있습니다.
IS_Numeric은 변수가 숫자인지 숫자 문자열인지를 결정하기 위해 PHP에서 간단하고 효율적인 기능입니다. 사용자 입력 또는 가변 유형을 신속하게 확인하는 데 적합하며 많은 시나리오에서 매우 실용적입니다. 행동과 경계 상황을 이해하면보다 강력한 코드를 작성하는 데 도움이 될 수 있습니다.
디지털 검증을 수행하는 경우 먼저 IS_Numeric을 사용하고 Intval 및 FloatVal 과 같은 다른 기능을 사용하여 추가 처리 데이터를 사용하는 것이 좋습니다.