欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解PHP中instanceof關(guān)鍵字及instanceof關(guān)鍵字有什么作用

 更新時間:2015年11月05日 14:19:47   投稿:mrr  
這篇文章主要介紹了PHP中instanceof關(guān)鍵字詳解及instanceof關(guān)鍵字有什么作用的相關(guān)資料,需要的朋友可以參考下

PHP5的另一個新成員是instdnceof關(guān)鍵字。使用這個關(guān)鍵字可以確定一個對象是類的實例、類的子類,還是實現(xiàn)了某個特定接口,并進(jìn)行相應(yīng)的操作。在某些情況下,我們希望確定某個類是否特定的類型,或者是否實現(xiàn)了特定的接口。instanceof操作符非常適合完成這個任務(wù)。instanceof操作符檢查三件事情:實例是否某個特定的類型,實例是否從某個特定的類型繼承,實例或者他的任何祖先類是否實現(xiàn)了特定的接口。例如,假設(shè)希望了解名為manager的對象是否為類Employee的實例:

$manager = new Employee();
…
if ($manager instanceof Employee)
  echo "Yes";

有兩點值得注意。首先,類名沒有任何定界符(引號)。使用定界符將導(dǎo)致語法錯誤。其次,如果比較失敗,腳本將退出執(zhí)行。instanceof關(guān)鍵字在同時處理多個對象時特別有用。例如,你可能要重復(fù)地調(diào)用某個函數(shù),但希望根據(jù)對象類型調(diào)整函數(shù)的行為??梢允褂胏ase語句和instanceof關(guān)鍵字來實現(xiàn)這個目標(biāo)。

class test{}
class test{}
class testChilern Extends test{}
$a = new test();
$m = new test();
$i = ($m instanceof test);
if($i)
  echo '$m是類test的實例!<br />'; // get this value
switch ($a instanceof test){
  case true :
    echo 'YES<br />';
    break;
  case false :
    echo 'No<br />'; //get this value
    break;
}
$d=new testChilern();
if($d instanceof test)echo '$d是類test的子類!<br />'; // get this value

php中 instanceof有什么作用

作用:(1)判斷一個對象是否是某個類的實例,(2)判斷一個對象是否實現(xiàn)了某個接口。

第一種用法:

<?php
$obj = new A();
if ($obj instanceof A) {
  echo 'A';
}

第二種用法:

<?php
interface ExampleInterface
{
   public function interfaceMethod();
 }
 class ExampleClass implements ExampleInterface
{
   public function interfaceMethod()
   {
     return 'Hello World!';
   }
 }
$exampleInstance = new ExampleClass();
 if($exampleInstance instanceof ExampleInterface){
   echo 'Yes, it is';
 }else{
   echo 'No, it is not';
} 
?>

輸出結(jié)果:Yes, it is

另外,需注意 instanceof 與 is_subclass_of() 的區(qū)別,請看代碼:

<?php
class Foo {
   public $foobar = 'Foo';
   public function test() {
     echo $this->foobar . "\n";
   }
 }
 class Bar extends Foo {
   public $foobar = 'Bar';
 }
$a = new Foo();
$b = new Bar();
echo "use of test() method\n";
$a->test();
$b->test();
echo "instanceof Foo\n";
var_dump($a instanceof Foo); // TRUE
var_dump($b instanceof Foo); // TRUE
echo "instanceof Bar\n";
var_dump($a instanceof Bar); // FALSE
var_dump($b instanceof Bar); // TRUE
echo "subclass of Foo\n";
var_dump(is_subclass_of($a, 'Foo')); // FALSE
var_dump(is_subclass_of($b, 'Foo')); // TRUE
echo "subclass of Bar\n";
var_dump(is_subclass_of($a, 'Bar')); // FALSE
var_dump(is_subclass_of($b, 'Bar')); // FALSE
?>

 輸出結(jié)果(PHP 5.4.4):

 use of test() method
 Foo
 Bar
 instanceof Foo
 bool(true)
 bool(true)
 instanceof Bar
 bool(false)
 bool(true)
 subclass of Foo
 bool(false)
 bool(true)
 subclass of Bar
 bool(false)

以上內(nèi)容是本文給大家介紹的PHP中instanceof關(guān)鍵字及instanceof關(guān)鍵字有什么作用的全部內(nèi)容,希望大家喜歡。

相關(guān)文章

  • 基于PHP生成簡單的驗證碼

    基于PHP生成簡單的驗證碼

    這篇文章主要介紹了基于PHP生成簡單的驗證碼的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • php實現(xiàn)mysql數(shù)據(jù)庫操作類分享

    php實現(xiàn)mysql數(shù)據(jù)庫操作類分享

    這篇文章主要介紹了php實現(xiàn)的mysql數(shù)據(jù)庫操作類,本文最后有使用方法,需要的朋友可以參考下
    2014-02-02
  • php mysql數(shù)據(jù)庫操作類

    php mysql數(shù)據(jù)庫操作類

    mysql數(shù)據(jù)庫 DB類 ,方便學(xué)習(xí)php的朋友,用類方便擴(kuò)展,不建議初級用戶,可以等熟悉了mysql的數(shù)據(jù)庫操作函數(shù)以后再用,要不以后函數(shù)都記亂了
    2008-06-06
  • PHP小教程之實現(xiàn)鏈表

    PHP小教程之實現(xiàn)鏈表

    php中沒有鏈表這種數(shù)據(jù)結(jié)構(gòu),可以通過數(shù)組來實現(xiàn)
    2014-06-06
  • Windows PHP5和Apache的安裝與配置

    Windows PHP5和Apache的安裝與配置

    在這里以PHP5為例介紹一下Windows下Apache和PHP5的安裝與配置方法。
    2009-06-06
  • 大家在搶紅包,程序員在研究紅包算法

    大家在搶紅包,程序員在研究紅包算法

    微信紅包在春節(jié)的火爆程度不言而喻,廣告主投入5億現(xiàn)金紅包,與央視羊年春晚獨(dú)家合作起到了巨大的推動作用。這就像一針大補(bǔ)丸,在短時間內(nèi)給微信帶來了極大的關(guān)注度與流量。下面通過本篇文章學(xué)習(xí)下?lián)尲t包算法是怎樣的,小伙伴們快來一起學(xué)習(xí)吧
    2015-08-08
  • thinkphp常見路徑用法分析

    thinkphp常見路徑用法分析

    這篇文章主要介紹了thinkphp常見路徑用法,實例分析了__PUBLIC__、__ROOT__、__APP__、__URL__、__ACTION__及__SELF__等標(biāo)簽常量的用法,需要的朋友可以參考下
    2014-12-12
  • PHP模板引擎Smarty中變量的使用方法示例

    PHP模板引擎Smarty中變量的使用方法示例

    這篇文章主要介紹了PHP模板引擎Smarty中變量的使用方法,詳細(xì)講述了Smarty模板的原理,下載,配置方法與變量的使用技巧,需要的朋友可以參考下
    2016-04-04
  • wordpress安裝過程中遇到中文亂碼的處理方法

    wordpress安裝過程中遇到中文亂碼的處理方法

    這篇文章主要介紹了wordpress安裝過程中遇到中文亂碼的處理方法,是個人項目中遇到的一個奇葩事件,經(jīng)過一番研究,終于解決,這里記錄下來分享給大家,有需要的小伙伴可以參考下。
    2015-04-04
  • 有關(guān)PHP 中 config.m4 的探索

    有關(guān)PHP 中 config.m4 的探索

    這篇文章主要介紹了PHP 中 config.m4 的探索,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08

最新評論