PHP5的另一個新成員是instdnceof關鍵字。使用這個關鍵字可以確定一個物件是類的例項、類的子類,還是實現了某個特定介面,並進行相應的操作。在某些情況下,我們希望確定某個類是否特定的型別,或者是否實現了特定的介面。instanceof運算子非常適合完成這個任務。instanceof運算子檢查三件事情:例項是否某個特定的型別,例項是否從某個特定的型別繼承,例項或者他的任何祖先類是否實現了特定的介面。例如,假設希望瞭解名為manager的物件是否為類Employee的例項:有兩點值得注意。首先,類名沒有任何定界符(引號)。使用定界符將導致語法錯誤。其次,如果比較失敗,指令碼將退出執行。instanceof關鍵字在同時處理多個物件時特別有用。例如,你可能要重複地呼叫某個函式,但希望根據物件型別調整函式的行為。可以使用case語句和instanceof關鍵字來實現這個目標。作用:(1)判斷一個物件是否是某個類的例項,(2)判斷一個物件是否實現了某個介面。第一種用法:第二種用法:果:Yes, it is另外,需注意 instanceof 與 is_subclass_of() 的區別,程式碼:輸出結果(PHP 5.4.4):use of test() methodFooBarinstanceof Foobool(true)bool(true)instanceof Barbool(false)bool(true)subclass of Foobool(false)bool(true)subclass of Barbool(false)
PHP5的另一個新成員是instdnceof關鍵字。使用這個關鍵字可以確定一個物件是類的例項、類的子類,還是實現了某個特定介面,並進行相應的操作。在某些情況下,我們希望確定某個類是否特定的型別,或者是否實現了特定的介面。instanceof運算子非常適合完成這個任務。instanceof運算子檢查三件事情:例項是否某個特定的型別,例項是否從某個特定的型別繼承,例項或者他的任何祖先類是否實現了特定的介面。例如,假設希望瞭解名為manager的物件是否為類Employee的例項:有兩點值得注意。首先,類名沒有任何定界符(引號)。使用定界符將導致語法錯誤。其次,如果比較失敗,指令碼將退出執行。instanceof關鍵字在同時處理多個物件時特別有用。例如,你可能要重複地呼叫某個函式,但希望根據物件型別調整函式的行為。可以使用case語句和instanceof關鍵字來實現這個目標。作用:(1)判斷一個物件是否是某個類的例項,(2)判斷一個物件是否實現了某個介面。第一種用法:第二種用法:果:Yes, it is另外,需注意 instanceof 與 is_subclass_of() 的區別,程式碼:輸出結果(PHP 5.4.4):use of test() methodFooBarinstanceof Foobool(true)bool(true)instanceof Barbool(false)bool(true)subclass of Foobool(false)bool(true)subclass of Barbool(false)