上一篇文章中我們了解了遞減運算符,有需要的請看《你知道++這個運算符嗎?》。這次我們向大家介紹另外一種運算符,類型運算符,有需要的可以參考參考。
當(dāng)我們看到這篇文章的時候,會不會感到奇怪,php中有類型運算符嗎?那是什么東西?能干什么用?今天我們就來看看這個運算符到底能干什么。
類型運算符指的是instanceof。instanceof運算符是php5引進的。在此之前用is_a(),但是is_a()已經(jīng)過時了,最好用instanceof。
我們來看一個小例子,學(xué)習(xí)這個運算符吧。
<?php class other { } class another { } $a = new other; var_dump($a instanceof other); var_dump($a instanceof another); ?>
這個例子的結(jié)果是
這個結(jié)果挺有意思的,只存在true和false兩種可能性,再去看看代碼,它先定義了兩個類,然后$a是other,接著就是問$a是不是屬于這個類的,感覺這段代碼是這個意思啊。
那我們來看看是不是這個意思,詳細(xì)介紹一下這個運算符。
instanceof 用于確定一個 PHP 變量是否屬于某一類class的實例。如果屬于返回true,如果不屬于則返回false。
既然這個應(yīng)用我們已經(jīng)看過了,來看這個運算符的另一種用法。
看先例子吧。
<?php interface other { public function cmcc(); } class ExampleClass implements other { public function cmcc() { return 'Hello World!'; } } $exampleInstance = new ExampleClass(); if($exampleInstance instanceof other){ echo '是的,它實現(xiàn)了!'; }else{ echo '不,它沒有實現(xiàn).'; } ?>
這個例子的結(jié)果是
這個例子的結(jié)果也只有兩種,一種就是“確定”,另外一種就是“否定”。不外乎是這兩種結(jié)果。我們來看看這個運算符的另一種用法吧。
這個運算符可以用來判斷一個對象是否實現(xiàn)了某個接口。如果屬于返回true,如果不屬于則返回false。很顯然這個例子表明這個對象實現(xiàn)了某個接口。
就說到這里了,有其他想知道的,可以點擊這個哦。→ →php視頻教程