示例 #1 對類使用instanceof
<?phpclass
myclass
class
notmyclass
$a = new
myclass;
var_dump($a
instanceof myclass);
var_dump($a
instanceof notmyclass);
?>
以上例程會輸出:
bool(true)bool(
false)
示例 #2 對繼承類使用instanceof
<?phpclass
parentclass
class myclass extends
parentclass
$a = new
myclass;
var_dump($a
instanceof myclass);
var_dump($a
instanceof parentclass);
?>
以上例程會輸出:
bool(true)bool(
true)
示例 #3 使用instanceof
檢查物件不是某個類的例項
<?phpclass
myclass
$a = new
myclass;
var_dump(!($a
instanceof stdclass));
?>
以上例程會輸出:
bool(true)
示例 #4 對介面使用instanceof
<?phpinte***ce
myinte***ce
class myclass implements
myinte***ce
$a = new
myclass;
var_dump($a
instanceof myclass);
var_dump($a
instanceof myinte***ce);
?>
以上例程會輸出:
bool(true)bool(
true)
示例 #5 對其它變數使用instanceof
<?phpinte***ce
myinte***ce
class myclass implements
myinte***ce
$a = new
myclass;
$b = new
myclass;
$c = 'myclass';
$d = 'notmyclass';
var_dump($a instanceof $b); //
$b is an object of class myclass
var_dump($a instanceof $c); //
$c is a string 'myclass'
var_dump($a instanceof $d); //
$d is a string 'notmyclass'
?>
以上例程會輸出:
bool(true)bool(
true
)bool(
false)
示例 #6 用instanceof
檢測其它變數
<?php$a = 1;
$b = null
;$c = imagecreate(5, 5);
var_dump($a instanceof stdclass); //
$a is an integer
var_dump($b instanceof stdclass); //
$b is null
var_dump($c instanceof stdclass); //
$c is a resource
var_dump(false
instanceof stdclass);
?>
以上例程會輸出:
bool(false)bool(
false
)bool(
false
)php fatal error: instanceof expects an object instance, constant given
示例 #7 使用instanceof
測試常量
<?phpvar_dump(false
instanceof stdclass);
?>
以上例程在 php 7.3 中的輸出:
bool(false)
instanceof
在功能上有個 類似的變體 is_a()。
關於instanceof運算子
instanceof 運算子是用來在執行時指出左邊物件是否是右邊特定類的乙個例項。通過返回乙個布林值來指出,這個物件是否是這個特定類或者是它的子類的乙個例項。public class test 由上面 很容易看明白 str是string及object的例項,所以輸出true。注意 1 null值不是...
關係運算子 instanceof
關係運算子 instanceof a instanceof animal 這個式子的結果是乙個布林表示式 a為物件變數,animal是類名。上面語句是判定a是否可以貼animal標籤。如果可以貼則返回true,否則返回false。在上面的題目中 a instanceof animal返回 true,...
詳解instanceof 運算子
instanceof運算子的前乙個運算元通常是乙個引用型別變數,後乙個運算元通常是乙個類,也可以是介面,用於判斷前面的物件是否是後面的類,或者是其子類 實現類的例項。如果是,則返回的是true,否則返回的是false。注意 在使用instanceof的時候需要注意,instanceof運算子前面的運...