php判断对象属于哪个类,PHP instanceof:判断对象是否属于某个类
使用 PHP 中的 instanceof 運算符,可以判斷一個對象是否屬于某一個類,語法格式如下:
對象名 instanceof 類名;
【示例】使用 instanceof 判斷一個對象是否屬于某個類。
class A{
}
class B{
}
$obj = new A;
var_dump($obj instanceof A);
echo '
';
var_dump($obj instanceof B);
?>
運行結果如下:
bool(true)
bool(false)
另外,使用 instanceof 也可用來確定一個對象是不是繼承自某個父類的子類,示例代碼如下:
class A{
}
class B extends A{
}
$obj = new B;
var_dump($obj instanceof A);
echo '
';
var_dump($obj instanceof B);
?>
運行結果如下:
bool(true)
bool(true)
最后,instanceof 也可用于確定一個變量是不是實現了某個接口的對象的實例,示例代碼如下:
interface A{
}
class B implements A{
}
$obj = new B;
var_dump($obj instanceof A);
echo '
';
var_dump($obj instanceof B);
?>
運行結果如下:
bool(true)
bool(true)
雖然 instanceof 通常是直接與類名一起使用,但也可以使用字符串來代替,示例代碼如下:
interface A{
}
class B implements A{
}
$obj = new B;
$str1 = 'A';
$str2 = 'B';
var_dump($obj instanceof A);
echo '
';
var_dump($obj instanceof B);
echo '
';
var_dump($obj instanceof $str1);
echo '
';
var_dump($obj instanceof $str2);
?>
運行結果如下:
bool(true)
bool(true)
bool(true)
bool(true)
注意:使用字符串代替類名時,需要將字符串賦值給一個變量,直接使用字符串(例如 $obj instanceof 'A')是不行的。
如果被檢測的變量不是對象,instanceof 并不會報錯而是直接返回 FALSE。另外,不能使用 instanceof 來檢測常量。示例代碼如下:
$a = 1;
$b = NULL;
$c = imagecreate(5, 5);
var_dump($a instanceof stdClass);
echo '
';
var_dump($b instanceof stdClass);
echo '
';
var_dump($c instanceof stdClass);
echo '
';
var_dump(FALSE instanceof stdClass);
?>
運行結果如下:
bool(false)
bool(false)
bool(false)
bool(false)
總結
以上是生活随笔為你收集整理的php判断对象属于哪个类,PHP instanceof:判断对象是否属于某个类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信名字简单好听771个
- 下一篇: hybbs接口php,HYBBS