Code Tu Tam

Hàm is_numeric trong PHP là gì?

Rate this post

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

Exit mobile version