is_numeric — 변수가 숫자인지 숫자인지 감지 (권장 학습: 초급부터 숙련까지 PHP 프로그래밍 )
<?php $tests = array( "31", 1380, "1e4", "not numeric", array(), 9.1 ); foreach ($tests as $element) { if (is_numeric($element)) { echo "'{$element}' is numeric", PHP_EOL; } else { echo "'{$element}' is NOT numeric", PHP_EOL; } } ?>
프로그램 실행 결과:
'31' is numeric '1380' is numeric '1e4' is numeric 'not numeric' is NOT numeric 'Array' is NOT numeric '9.1' is numeric
문자열 1e4도 판단됩니다. 숫자가 되려면 .
is_numeric 함수는 10진수뿐만 아니라 16진수 유형의 숫자도 지원합니다. 따라서 사용중인 QQ수와 같은 순수자연수를 검증할 때에는 intval() 정수함수를 함께 활용해야 한다.
<?php $id = 0xff33669f; if (is_numeric($id)) echo $id, '符合要求。';//output 4281558687符合要求。 else echo $id, '不符合要求。'; ?>
정수를 판단해야 하는 경우 is_int() 함수를 사용하면 일부 문자열도 합법적인 숫자로 간주되는 상황을 피할 수 있습니다.
is_numeric은 변수가 숫자인지 숫자 문자열인지 판별할 수 있지만 판별 범위가 너무 넓습니다. 정수, 소수, 지수 표현, 16진수 값이 모두 판정을 통과합니다. 일반적으로 ID를 결정할 때 사용하는 것은 다소 부적절합니다.
오늘 저는 정수만 판단할 수 있는 ctype_digit라는 새로운 판단 함수를 발견했습니다. 이는 is_numeric보다 낫습니다. 다른 함수로는 16진수 정수를 결정하는 ctype_xdigit, 문자를 결정하는 ctype_alpha 등이 있습니다.
위 내용은 PHP는 문자열이 숫자인지 확인합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!