Định Nghĩa.
Hàm ctype_digit() trong PHP kiểm tra giá trị của một chuỗi có phải là số nguyên hay không. Hàm tương thích với PHP4, PHP 5, PHP 7.
Cú pháp.
Cú pháp:
ctype_digit( string $text
) : bool
Trong đó:
$text
là biến cần kiểm tra.
Mô Tả
ctype_digit () kiểm tra xem tất cả các ký tự trong chuỗi văn bản có phải là số không.
Giá trị trả về TRUE nếu mỗi ký tự trong chuỗi đã cho là một chữ số thập phân, nếu không là FALSE.
Ví Dụ
Code:
<?php $strings = array('1820.20', '10002', 'wsl!12'); // Biến cần kiểm tra foreach ($strings as $testcase) { if (ctype_digit($testcase)) { echo "Chuỗi $testcase có số nguyên.\n"; } else { echo "chuỗi $testcase Không chứa số nguyên.\n"; } } ?>
Kết quả:
chuỗi 1820.20 không chứa số nguyên. chuỗi 10002 chứa số nguyên. chuỗi wsl!12 không chứa số nguyên.
Chú Ý
Thông tin thêm về hàm
<?php function is_digit($digit) { if(is_int($digit)) { return true; // trường hợp biến $digit là số nguyên. } elseif(is_string($digit)) { return ctype_digit($digit); // Trường là chuỗi. } else { // Dữ liệu kiểu đúng sai, số thập phân hay một kiểu dữ liệu khác. return false; } } ?>
Ví dụ:
<?php function is_digit($digit) { if(is_int($digit)) { return true; // trường hợp biến $digit là số nguyên. } elseif(is_string($digit)) { return ctype_digit($digit); // Trường là chuỗi. } else { // Dữ liệu kiểu đúng sai, số thập phân hay một kiểu dữ liệu khác. return false; } } is_digit(1); // => return true trường hợp đây là số. is_digit('-1'); // => return true trường hợp đây là chuỗi và giá trị trong chuỗi là một số nguyên. is_digit(1.1);// => rreturn false trường hợp đây là số thập phân. ?>
So sánh hàm is_digit() với các hàm cơ bản của PHP ta thấy hàm is_digit() Đã giải quyết được các vấn đề của hàm cơ bản của PHP.
1. is_numeric () chấp nhận các giá trị như: + 0123,45e6.
2. is_int () không chấp nhận các chuỗi string.
3. ctype_digit () không chấp nhận tất cả các số là số nguyên.
4. Có lẽ một số hàm sẽ phân tích một boolean (như: true hoặc false) là 0 hoặc 1 và xác nhận nó theo cách đó.
Bình luận: