Giới thiệu
Trong PHP, có thể xác định xem một biến có phải là object của một class nhất định hay không. Cho mục đích này, PHP có toán tử instanceof.
Cú pháp
$var instanceof class
Toán tử này trả về TRUE nếu $var là object của class, ngược lại trả về FALSE.
Ví dụ
Kiểm tra instance của user-defined class
<?php
class TestClass {
// class body
}
$a = new TestClass();
if ($a instanceof TestClass == TRUE) {
echo "\$a is an object of TestClass";
} else {
echo "\$a is not an object of TestClass";
}
?>
Kết quả
$a is an object of TestClass
Kiểm tra không phải instance
Dùng toán tử ! để kiểm tra phủ định:
<?php
class TestClass {
// class body
}
$a = new TestClass();
$b = "Hello";
if (!($b instanceof TestClass) == TRUE) {
echo "\$b is not an object of TestClass";
} else {
echo "\$b is an object of TestClass";
}
?>
Kết quả
$b is not an object of TestClass
Kiểm tra instance của parent class
<?php
class Base {
// class body
}
class TestClass extends Base {
// class body
}
$a = new TestClass();
var_dump($a instanceof Base);
?>
Kết quả
bool(true)
Kiểm tra instance của interface
<?php
interface Base {
}
class TestClass implements Base {
// class body
}
$a = new TestClass();
var_dump($a instanceof Base);
?>
Kết quả
bool(true)