Hàm is_object() trong PHP
Trần Thị Vân
- 1146
- 08/08/2025
Chức năng của Hàm is_object() trong PHP
Hàm is_object() 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 đối tượng (object) 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_object() trong PHP
$kết_quả = is_object($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 đối tượng (object) 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 đối tượng (object) thì trả về false.
Code Hàm is_object() trong PHP
<h2>Kiểm tra biến đối tượng thuộc kiểu dữ liệu đối tượng (object) hay không</h2>
<?php
$nhanVien = (object) [
'ten' => 'Bùi Tấn Lực',
'tuoi' => '35'
];
if(is_object($nhanVien)){
echo 'Biến $nhanVien thuộc kiểu dữ liệu đối tượng (object) <br>';
}else{
echo 'Biến $nhanVien không thuộc kiểu dữ liệu đối tượng (object) <br>';
}
// Kết quả: Biến $nhanVien thuộc kiểu dữ liệu đối tượng (object)
?>
<h2>Kiểm tra biến mảng thuộc kiểu dữ liệu đối tượng (object) hay không</h2>
<?php
$mang = array("Lực","Vân","Quỳnh");
if(is_object($mang)){
echo 'Biến $mang thuộc kiểu dữ liệu đối tượng (object) <br>';
}else{
echo 'Biến $mang không thuộc kiểu dữ liệu đối tượng (object) <br>';
}
// Kết quả: Biến $mang không thuộc kiểu dữ liệu đối tượng (object)
?>
<h2>Kiểm tra biến chứa số nguyên thuộc kiểu dữ liệu đối tượng (object) hay không</h2>
<?php
$biensonguyen = 35;
if(is_object($biensonguyen)){
echo 'Biến $biensonguyen thuộc kiểu dữ liệu đối tượng (object) <br>';
}else{
echo 'Biến $biensonguyen không thuộc kiểu dữ liệu đối tượng (object) <br>';
}
// Kết quả: Biến $biensonguyen không thuộc kiểu dữ liệu đối tượng (object)
?>
<h2>Kiểm tra biến chứa chuỗi có thuộc kiểu dữ liệu đối tượng (object) hay không</h2>
<?php
$bienchuoi = "Web Mới";
if(is_object($bienchuoi)){
echo 'Biến $bienchuoi thuộc kiểu dữ liệu đối tượng (object) <br>';
}else{
echo 'Biến $bienchuoi không thuộc kiểu dữ liệu đối tượng (object) <br>';
}
// Kết quả: Biến $bienchuoi không thuộc kiểu dữ liệu đối tượng (object)
?>
<h2>Kiểm tra biến chứa số thập phân thuộc kiểu dữ liệu đối tượng (object) hay không</h2>
<?php
$bienthapphan = 35.5;
if(is_object($bienthapphan)){
echo 'Biến $bienthapphan thuộc kiểu dữ liệu đối tượng (object) <br>';
}else{
echo 'Biến $bienthapphan không thuộc kiểu dữ liệu đối tượng (object) <br>';
}
// Kết quả: Biến $bienthapphan không thuộc kiểu dữ liệu đối tượng (object)
?>
Kết quả:
/////Kiểm tra biến đối tượng thuộc kiểu dữ liệu đối tượng (object) hay không
Biến $nhanVien thuộc kiểu dữ liệu đối tượng (object)
/////Kiểm tra biến mảng thuộc kiểu dữ liệu đối tượng (object) hay không
Biến $mang không thuộc kiểu dữ liệu đối tượng (object)
/////Kiểm tra biến chứa số nguyên thuộc kiểu dữ liệu đối tượng (object) hay không
Biến $biensonguyen không thuộc kiểu dữ liệu đối tượng (object)
/////Kiểm tra biến chứa chuỗi có thuộc kiểu dữ liệu đối tượng (object) hay không
Biến $bienchuoi không thuộc kiểu dữ liệu đối tượng (object)
/////Kiểm tra biến chứa số thập phân thuộc kiểu dữ liệu đối tượng (object) hay không
Biến $bienthapphan không thuộc kiểu dữ liệu đối tượng (object)
Các trường hợp sử dụng is_object() trong PHP
is_object() hữu ích khi chương trình cần xác định một biến có đang chứa đối tượng hay không trước khi thực hiện các thao tác liên quan. Việc kiểm tra này giúp hạn chế lỗi khi dữ liệu đầu vào có thể thay đổi kiểu dữ liệu hoặc đến từ nguồn không chắc chắn.
Kiểm tra biến có phải là một đối tượng trước khi xử lý
Trong thực tế, một biến có thể nhận nhiều kiểu dữ liệu khác nhau tùy theo luồng xử lý. Nếu chương trình dự kiến gọi thuộc tính hoặc phương thức của một đối tượng nhưng giá trị thực tế lại là chuỗi, số hoặc null, thao tác tiếp theo có thể không hoạt động như mong muốn.
Có thể dùng is_object() để kiểm tra trước khi xử lý:
<?php
$data = getData();
if (is_object($data)) {
$data->process();
}
?>
Cách này đặc biệt phù hợp khi làm việc với dữ liệu trả về từ hàm, thư viện hoặc các thành phần mà kiểu dữ liệu không hoàn toàn cố định. Chương trình chỉ tiếp tục thao tác theo hướng dành cho object khi điều kiện kiểm tra đã được đáp ứng.
Cũng cần phân biệt is_object() với việc kiểm tra một biến có phải là instance của một class cụ thể hay không. Nếu cần xác định chính xác class hoặc quan hệ kế thừa, có thể sử dụng instanceof thay vì chỉ kiểm tra biến có phải object.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm is_object() 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 *