1. Chức năng của hàm is_numeric()
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.
2. Cú pháp của hàm is_numeric()
is_numeric(mixed $value): bool
Trong đó:
$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àmis_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.