Hướng dẫn dùng php is_numeric trong PHP

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 ) : 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é!

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.

Hướng dẫn dùng php is_numeric trong PHP

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 numeric 

Tham khảo: php.net

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à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 $valuemộ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

Điều hướng bài viết