Hàm is_numeric trong PHP từ phiên bản 4, đây là hàm dùng để kiểm tra 1 biến có phải là dạng số (hoặc kiểu string của 1 số) hay không. Kiểu string của số có thể bao gồm: dấu thập phân, số mũ, dấu (âm, dương) hay bắt đầu bằng khoảng trắng. Để hiểu rõ hơn thì vui lòng xem thêm ví dụ ngay bên dưới đây.
Cú pháp
is_numeric ( mixed $var ) : bool
Tham số đầu vào: $var : Biến cần để kiểm tra
Kết quả trả về: bool : giá trị true/false
Ví dụ hàm is_numeric trong PHP
Cùng theo dõi ví dụ ngay dưới đây để hiểu thêm
(Chú ý đoạn mã dưới đây được chạy trên phiên bản PHP 7.2) Tham khảo thêm cải tiến từ PHP 5 tới PHP 8 để biết thêm những thay bản cơ đổi trong PHP
<?php $tests = array( "42", // Yes 1337, // Yes 0x539,// Yes 02471,// Yes 0b10100111001,// Yes 1337e0,// Yes "0x539",// No "02471",// Yes "0b10100111001",// No "1337e0",// Yes "Số",// No "-99",// Yes "+99",// Yes 9.1,// Yes null,// No .98, // Yes // Bắt đầu dấu . " 98" //Yes - Bắt đầu bằng khoảng trắng ); foreach ($tests as $element) { if (is_numeric($element)) { echo $element . " ==> Là số", PHP_EOL; } else { echo $element . " ==> Không phải số", PHP_EOL; } }
Kết quả là
42 ==> Là số 1337 ==> Là số 1337 ==> Là số 1337 ==> Là số 1337 ==> Là số 1337 ==> Là số 0x539 ==> Không phải số 02471 ==> Là số 0b10100111001 ==> Không phải số 1337e0 ==> Là số Số ==> Không phải số -99 ==> Là số +99 ==> Là số 9.1 ==> Là số ==> Không phải số
Lưu ý khi sử dụng hàm is_numeric trong PHP
Phiên bản PHP sử dụng hàm is_numeric
Đối với phiên bản PHP nhỏ hơn 7 (từ 5.6 trở xuống) thì “0x539” (String của số dưới dạng hệ thập lục phân – hệ cơ số 16) sẽ được coi là số, tuy nhiên trong phiên bản PHP 7 trở lên thì kết quả sẽ là Không phải số.
Các kiểu string đặc biệt khi dùng kiểm tra với is_numeric
Hàm is_numeric trả về TRUE trong các trường hợp: Số bắt đầu bằng dấu chấm (.789), String 1 số bắt đầu bằng khoảng trắng (” 123″)
Hàm is_numeric trả về FALSE trong các trường hợp: Chuỗi rỗng (“”)
Hàm is_numeric có thể đánh giá 1 số cực lớn
Hàm is_numeric có thể kiểm tra 1 số cực lớn và có kết quả chính xác
ví dụ
<?php var_dump(is_numeric ('5863527282178658728638282465756887109828727827654321987654358635272821786587286382824657568871098287278276543219876543') );
Kết quả
bool(true)
Trên đây là các thông tin cơ bản về hàm is_numeric trong PHP, một hàm được sử dụng nhiều khi muốn kiểm tra dữ liệu đầu vào có phải dạng số. Hi vọng với các tóm tắt này có thể giúp các bạn thành thục hơn khi sử dụng PHP. Nếu thấy bài viết hay hãy like và share bài viết để ủng hộ CodeTuTam nhé!