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
- Ví dụ hàm is_numeric trong PHP
- Lưu ý khi sử dụng hàm is_numeric trong PHP
- Phiên bản PHP sử dụng hàm is_numeric
- Các kiểu string đặc biệt khi dùng kiểm tra với is_numeric
- Hàm is_numeric có thể đánh giá 1 số cực lớn
Cú pháp
is_numeric ( mixed $var ) : boolTham 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é!
Hàm is_numeric() sẽ kiểm tra biến có thuộc kiểu số hoặc chuỗi số hay không. chuỗi số bao gồm bất kì chữ số nào, số thập phân, số mũ .v.v. Nếu biến thuộc một trong số những kiểu trên hàm trả về TRUE, ngược lại hàm trả về FALSE.
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
Cú pháp
Cú pháp: is_numeric( $var);
Trong đó:
- $var là biến cần kiểm tra.
Ví dụ
Đây là ví dụ mình lấy từ trang chủ php.net.
Bài viết này được đăng tại [free tuts .net]
Code
$tests = array( "42", 1337, 0x539, 02471, 0b10100111001, 1337e0, "not numeric", 9.1 ); foreach ($tests as $element) { if (is_numeric($element)) { echo "'{$element}' is numeric <br />" ; } else { echo "'{$element}' is NOT numeric <br />"; } }Kết quả
'42' is numeric '1337' is numeric '1337' is numeric '1337' is numeric '1337' is numeric '1337' is numeric 'not numeric' is NOT numeric '9.1' is numericTham khảo: php.net
Hàm is_numeric() trong PHP có chức năng kiểm tra một biến có phải là một số hoặc một chuỗi gồm các chữ số hay không.1. Chức năng của hàm is_numeric()
2. Cú pháp của hàm is_numeric()
is_numeric(mixed $value): boolTrong đó:
- $value là biến cần kiểm tra có phải là một số hoặc một chuỗi gồm các chữ số hay không. Biến này khi truyền vào cho hàm is_numeric() thì có thể là bất kỳ kiểu dữ liệu nào.
- Kiểu dữ liệu trả về là bool. Nếu $value là một số hoặc một chuỗi gồm các chữ số thì trả về true, nếu không thì trả về false.
3. Một số ví dụ sử dụng hàm is_numeric()
<?php $arr = array('1', 2); $values = array( "42", " 7.8", " 1ab", 1337, 0x539, 02471, 0b10100111001, 1337e0, "0x539", "02471", "0b10100111001", "1337e0", "not numeric", $arr, 9.1, null, '', true, false ); foreach ($values as $value) { echo "is_numeric("; var_export($value); echo ") = "; var_dump(is_numeric($value)); } ?>Kết quả
is_numeric('42') = bool(true) is_numeric(' 7.8') = bool(true) is_numeric(' 1ab') = bool(false) is_numeric(1337) = bool(true) is_numeric(1337) = bool(true) is_numeric(1337) = bool(true) is_numeric(1337) = bool(true) is_numeric(1337.0) = bool(true) is_numeric('0x539') = bool(false) is_numeric('02471') = bool(true) is_numeric('0b10100111001') = bool(false) is_numeric('1337e0') = bool(true) is_numeric('not numeric') = bool(false) is_numeric(array ( 0 => '1', 1 => 2, )) = bool(false) is_numeric(9.1) = bool(true) is_numeric(NULL) = bool(false) is_numeric('') = bool(false) is_numeric(true) = bool(false) is_numeric(false) = bool(false)Các bạn cần cần lưu ý một số cách viết khác của số như:
- 0x539 là số 1337 được biểu diễn dưới hệ cơ số 16
- 02471 là số 1337 được biểu diễn dưới hệ cơ số 8
- 0b10100111001 là số 1337 được biểu diễn dưới hệ nhị phân
- 1337e0 tương đương 1337.100 (một ký hiệu của lũy thừa trong toán học)
Các bạn có thể tham khảo thêm quy ước numberic string trong PHP.
- Đặc điểm của các phương pháp lập trình
- Cấu trúc rẽ nhánh if…else trong PHP
- Các loại Thread trong Java: Daemon Thread và User Thread
- Quản lý bộ nhớ trong Java: bộ nhớ stack và bộ nhớ heap
- Giới thiệu môn học Lập trình Web PHP
Mời bạn đánh giá bài viết
PHP programming