Giới thiệu
Trong PHP, có thể xác định chắc chắn một biến nhất định có phải là một đối tượng của một lớp nhất định hay không. Vì mục đích này, PHP có instanceof nhà điều hành.
Cú pháp
$var instanceof class
Toán tử này trả về giá trị boolean TRUE của $ var là một đối tượng của lớp, nếu không, nó trả về FALSE
Ví dụ
Trong ví dụ sau, toán tử instanceof kiểm tra xem đối tượng đã cho của lớp thử nghiệm do người dùng xác định hay không
Ví dụ
<?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"; } ?>
Đầu ra
Kết quả sau sẽ được hiển thị
$a is an object of testclass
Để kiểm tra xem một đối tượng nào đó có phải là một thể hiện của lớp hay không, hãy sử dụng! nhà điều hành
Ví dụ
<?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"; } ?>
Đầu ra
Kết quả sau sẽ được hiển thị
$b is not an object of testclass
Toán tử instanceof cũng kiểm tra xem một biến có phải là đối tượng của lớp cha hay không
Ví dụ
<?php class base{ //class body } class testclass extends base { //class body } $a=new testclass(); var_dump($a instanceof base) ?>
Đầu ra
Kết quả sau sẽ được hiển thị
bool(true)
Nó cũng có thể chắc chắn liệu một biến có phải là một phiên bản của intrface hay không
Ví dụ
<?php interface base{ } class testclass implements base { //class body } $a=new testclass(); var_dump($a instanceof base) ?>
Đầu ra
Kết quả sau sẽ được hiển thị
bool(true)