Hàm is_bool() trong PHP
Trần Thị Vân
- 1265
- 07/08/2025
Chức năng của Hàm is_bool() trong PHP
Hàm is_bool() trong PHP dùng để kiểm tra kiểu dữ liệu của biến truyền vào có phải là kiểu dữ liệu boolean (true, false) hay không, nếu phải thì trả về true, nếu không phải thì trả về false.
Cú pháp của Hàm is_bool() trong PHP
$kết_quả = is_bool($biến_dữ_liệu);
$biến_dữ_liệu: Biến chứa dữ liệu.
$kết_quả: Nếu kiểu dữ liệu của biến là kiểu dữ liệu boolean (true, false) thì trả về true, nếu kiểu dữ liệu của biến không phải là kiểu dữ liệu boolean (true, false) thì trả về false.
Code Hàm is_bool() trong PHP
<h2>Kiểm tra biến chứa dữ liệu true có thuộc kiểu dữ liệu boolean (true, false) hay không</h2>
<?php
$bientrue = true;
if(is_bool($bientrue)){
echo 'Biến $bientrue thuộc kiểu dữ liệu boolean (true, false) <br>';
}else{
echo 'Biến $bientrue không thuộc kiểu dữ liệu boolean (true, false) <br>';
}
// Kết quả: Biến $bientrue thuộc kiểu dữ liệu boolean (true, false)
?>
<h2>Kiểm tra biến chứa dữ liệu false có thuộc kiểu dữ liệu boolean (true, false) hay không</h2>
<?php
$bienfalse = false;
if(is_bool($bienfalse)){
echo 'Biến $bienfalse thuộc kiểu dữ liệu boolean (true, false) <br>';
}else{
echo 'Biến $bienfalse không thuộc kiểu dữ liệu boolean (true, false) <br>';
}
// Kết quả: Biến $bienfalse thuộc kiểu dữ liệu boolean (true, false)
?>
<h2>Kiểm tra biến chứa chuỗi có thuộc kiểu dữ liệu boolean (true, false) hay không</h2>
<?php
$bienchuoi = "Web Mới";
if(is_bool($bienchuoi)){
echo 'Biến $bienchuoi thuộc kiểu dữ liệu boolean (true, false) <br>';
}else{
echo 'Biến $bienchuoi không thuộc kiểu dữ liệu boolean (true, false) <br>';
}
// Kết quả: Biến $bienchuoi không thuộc kiểu dữ liệu boolean (true, false)
?>
<h2>Kiểm tra biến mảng thuộc kiểu dữ liệu boolean (true, false) hay không</h2>
<?php
$mang = array("Lực","Vân","Quỳnh");
if(is_bool($mang)){
echo 'Biến $mang thuộc kiểu dữ liệu boolean (true, false) <br>';
}else{
echo 'Biến $mang không thuộc kiểu dữ liệu boolean (true, false) <br>';
}
// Kết quả: Biến $mang không thuộc kiểu dữ liệu boolean (true, false)
?>
<h2>Kiểm tra biến chứa số nguyên thuộc kiểu dữ liệu boolean (true, false) hay không</h2>
<?php
$biensonguyen = 35;
if(is_bool($biensonguyen)){
echo 'Biến $biensonguyen thuộc kiểu dữ liệu boolean (true, false) <br>';
}else{
echo 'Biến $biensonguyen không thuộc kiểu dữ liệu boolean (true, false) <br>';
}
// Kết quả: Biến $biensonguyen không thuộc kiểu dữ liệu boolean (true, false)
?>
<h2>Kiểm tra biến chứa số thập phân thuộc kiểu dữ liệu boolean (true, false) hay không</h2>
<?php
$bienthapphan = 35.5;
if(is_bool($bienthapphan)){
echo 'Biến $bienthapphan thuộc kiểu dữ liệu boolean (true, false) <br>';
}else{
echo 'Biến $bienthapphan không thuộc kiểu dữ liệu boolean (true, false) <br>';
}
// Kết quả: Biến $bienthapphan không thuộc kiểu dữ liệu boolean (true, false)
?>
<h2>Kiểm tra biến đối tượng thuộc kiểu dữ liệu boolean (true, false) hay không</h2>
<?php
$nhanVien = (object) [
'ten' => 'Bùi Tấn Lực',
'tuoi' => '35'
];
if(is_bool($nhanVien)){
echo 'Biến $nhanVien thuộc kiểu dữ liệu boolean (true, false) <br>';
}else{
echo 'Biến $nhanVien không thuộc kiểu dữ liệu boolean (true, false) <br>';
}
// Kết quả: Biến $nhanVien không thuộc kiểu dữ liệu boolean (true, false)
?>
Kết quả:
/////Kiểm tra biến chứa dữ liệu true có thuộc kiểu dữ liệu boolean (true, false) hay không
Biến $bientrue thuộc kiểu dữ liệu boolean (true, false)
/////Kiểm tra biến chứa dữ liệu false có thuộc kiểu dữ liệu boolean (true, false) hay không
Biến $bienfalse thuộc kiểu dữ liệu boolean (true, false)
/////Kiểm tra biến chứa chuỗi có thuộc kiểu dữ liệu boolean (true, false) hay không
Biến $bienchuoi không thuộc kiểu dữ liệu boolean (true, false)
/////Kiểm tra biến mảng thuộc kiểu dữ liệu boolean (true, false) hay không
Biến $mang không thuộc kiểu dữ liệu boolean (true, false)
/////Kiểm tra biến chứa số nguyên thuộc kiểu dữ liệu boolean (true, false) hay không
Biến $biensonguyen không thuộc kiểu dữ liệu boolean (true, false)
/////Kiểm tra biến chứa số thập phân thuộc kiểu dữ liệu boolean (true, false) hay không
Biến $bienthapphan không thuộc kiểu dữ liệu boolean (true, false)
/////Kiểm tra biến đối tượng thuộc kiểu dữ liệu boolean (true, false) hay không
Biến $nhanVien không thuộc kiểu dữ liệu boolean (true, false)
Khi nào nên sử dụng hàm is_bool() trong PHP?
Hàm is_bool() hữu ích khi chương trình cần xác định một giá trị có thực sự thuộc kiểu boolean hay không. Việc kiểm tra này đặc biệt cần thiết khi dữ liệu có thể đến từ nhiều nguồn khác nhau và chưa chắc mang đúng kiểu dữ liệu mà chương trình mong đợi.
Kiểm tra dữ liệu trước khi xử lý điều kiện
Trong những đoạn code có nhiều loại dữ liệu, nên dùng is_bool() để xác nhận giá trị trước khi thực hiện các xử lý dành riêng cho kiểu boolean. Cách này giúp tránh việc nhầm lẫn giữa true/false với các giá trị như số 0, 1 hoặc chuỗi.
<?php
$value = false;
if (is_bool($value)) {
echo $value ? 'Đã bật' : 'Đã tắt';
}
?>
Ở ví dụ trên, chương trình chỉ thực hiện xử lý khi $value thực sự là boolean. Điều này phù hợp với các đoạn code cần phân biệt rõ kiểu dữ liệu thay vì dựa vào cơ chế chuyển đổi kiểu tự động của PHP.
Xác thực giá trị boolean từ hàm hoặc dữ liệu đầu vào
Một hàm có thể trả về nhiều kiểu dữ liệu tùy theo kết quả xử lý. Khi phần code tiếp theo yêu cầu chính xác một giá trị true hoặc false, is_bool() có thể được dùng để kiểm tra kết quả trước khi sử dụng.
<?php
$result = getStatus();
if (is_bool($result)) {
echo $result ? 'Thành công' : 'Không thành công';
} else {
echo 'Kết quả không phải boolean';
}
?>
Cách kiểm tra này giúp xác định rõ dữ liệu có đúng định dạng mong muốn hay không, đặc biệt khi xử lý kết quả từ hàm tự xây dựng hoặc các thành phần khác trong ứng dụng.
Phân biệt boolean với các giá trị có thể chuyển đổi sang boolean
PHP có thể chuyển nhiều giá trị sang true hoặc false trong biểu thức điều kiện. Tuy nhiên, điều đó không có nghĩa giá trị ban đầu là kiểu boolean. Đây là điểm quan trọng khi cần kiểm tra kiểu dữ liệu thực tế.
<?php
$value = 1;
if ($value) {
echo 'Giá trị được đánh giá là true';
}
if (is_bool($value)) {
echo 'Đây là boolean';
} else {
echo 'Đây không phải boolean';
}
?>
Trong trường hợp này, 1 được PHP đánh giá là đúng trong điều kiện, nhưng bản thân nó vẫn là kiểu số nguyên. Vì vậy, is_bool() sẽ trả về false. Đây là lý do nên dùng hàm này khi mục tiêu là kiểm tra chính xác kiểu dữ liệu, thay vì chỉ xác định một giá trị có được xem là đúng hay sai trong biểu thức điều kiện.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm is_bool() trong PHP.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *