instanceof函式是php5中新添的物件導向的函式。
他主要的作用是檢測乙個給定的物件是否屬於(繼承於)某個類(class)、某個類的子類、某個介面(inte***ce)。
如果是則返回true。反之返回false;
看下面的**你就了解他的意思了。
<?php
class baseclass {}
class subclass extends baseclass{}
inte***ce ainte***ce {}
class aclass implements ainte***ce {}
$a = new baseclass();
var_dump($a instanceof baseclass);
$b = new subclass();
var_dump($b instanceof baseclass);
$c = new aclass();
var_dump($c instanceof ainte***ce);
var_dump($c instanceof subclass);
結果為
bool(true)
bool(true)
bool(true)
bool(false)
它其實就是檢測物件與類的從屬關係。
有從屬關係就是true,無論是繼承還是介面。
常用於單例模式。
php中instanceof的作用
instanceof可以判斷某個物件是否是某個類的例項。這是官方的定義 instanceof 用於確定乙個 php 變數是否屬於某一類 class 的例項 直接上 1 判斷乙個物件是否是某個類的例項 class myclass class notmyclass a new myclass var d...
php 中 instanceof的使用方式
摘自 instanceof的作用 1.判斷某個物件是否是某個類的例項 舉例說明 class a obj new a if obj instanceof a else2.判斷乙個物件是否是實現了末個介面 舉例說明 inte ce exampleinte ce class exampleclass im...
java中的instanceof用法
乙個類的物件可以轉換成繼承鏈中的另乙個類的物件。在進行物件轉換時必須注意 1 乙個子類物件的型別可以向上轉換,即乙個子類可以轉換成它的父類。這種轉換是安全的,因為子類中含有父類的資訊,子類是父類的乙個超集。轉換的結果是丟失子類中新定義的資訊。2 乙個父類物件的型別一般來說是不可以向下轉換成它的子類,...