亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP的INSTANCEOF使用方法介紹

2024-09-04 11:43:47
字體:
來源:轉載
供稿:網友

php的instanceof是什么意思?instanceof由兩個單詞組成,instance和of,instance表示實例的意思,從字面上就可以理解這是實例引用的意思,instanceof是PHP5引入的新關鍵字.

instanceof 運算符是 PHP 5 引進的,在此之前用 is_a(),但是 is_a() 已經過時了,最好用 instanceof.

1、用來確定一個變量是否屬于某個類的實例;

2、用來確定一個變量是否是繼承自某一父類的子類的實例;

3、用來確定一個變量是否是實現了某個接口的對象的實例。

在 PHP 5.1.0之前,如果要檢查的類名稱不存在,instanceof 會調用 __autoload(),另外,如果該類沒有被裝載則會產生一個致命錯誤,可以通過使用動態類引用(dynamic class reference)或用一個包含類名的字符串變量來避開這種問題.

下面舉例說明php instanceof的用法:

  1. if ( ! emptyempty$current_user ) ) { 
  2.  if ( $current_user instanceof WP_User ) 
  3.   return
  4.  
  5.  // Upgrade stdClass to WP_User 
  6.  if ( is_object$current_user ) && isset( $current_user->ID ) ) { 
  7.   $cur_id = $current_user->ID; 
  8.   $current_user = null; 
  9.   wp_set_current_user( $cur_id ); 
  10.   return;  //開源軟件:Vevb.com 
  11.  } 
  12.  
  13.  // $current_user has a junk value. Force to WP_User with ID 0. 
  14.  $current_user = null; 
  15.  wp_set_current_user( 0 ); 
  16.  return false; 

如代碼中高亮的部分,if ( $current_user instanceof WP_User),WP_User是一個類名,在這里這句話是判斷$current_user是否是WP_User這個類的實例,也就是判斷前面的代碼中是否已經有$current_user=new WP_User().

使用instanceof這個關鍵字可以確定一個對象是類的實例、類的子類,還是實現了某個特定接口,并進行相應的操作.

Example #6 避免 PHP 5.0 中 instanceof 引起的類名查找和致命錯誤問題.

  1. <?php 
  2. $d = 'NotMyClass'
  3. var_dump($a instanceof $d); // no fatal error here 
  4. ?> 

代碼格式:實例名 instanceof 類名

instanceof 運算符的運用

如下例子可以運行:

  1. <?php 
  2. class User{ 
  3.  private $name
  4.  public function  getName(){ 
  5.   return "UserName is ".$this->name; 
  6.  } 
  7. class NormalUser extends User { 
  8.  private $age = 99; 
  9.  public function getAge(){ 
  10.   return "age is ".$this->age; 
  11.  } 
  12. class UserAdmin{ //操作. 
  13.  public static function  getUserInfo(User $_user){ 
  14.   echo $_user->getAge(); 
  15.  } 
  16. $normalUser = new NormalUser(); 
  17. UserAdmin::getUserInfo($normalUser); 
  18. ?> 
  19. //程序運行結果: 
  20. age is 99 

在User類中因為沒有這個方法而報錯:

  1. <?php 
  2. class User{ 
  3.  private $name
  4.  public function  getName(){ 
  5.   return "UserName is ".$this->name; 
  6.  } 
  7. class NormalUser extends User { 
  8.  private $age = 99; 
  9.  public function getAge(){ 
  10.   return "age is ".$this->age; 
  11.  } 
  12. class UserAdmin{ //操作. 
  13.  public static function  getUserInfo(User $_user){ 
  14.   echo $_user->getAge(); 
  15.  } 
  16. $User = new User(); // 這里new的是User. 
  17. UserAdmin::getUserInfo($User); 
  18. ?> 

程序運行結果:Fatal error:  Call to undefined method User::getAge() in E:\PHPProjects\NowaMagic\php\php_InstanceofOperator.php on line 99

使用instatnceof運算符保障代碼安全,使用instatnceof運算符,在操作前先進行類型判斷,以保障代碼的安全性.

  1. <?php 
  2. class User{ 
  3.  private $name
  4.  public function  getName(){ 
  5.   return "UserName is ".$this->name; 
  6.  } 
  7. class NormalUser extends User { 
  8.  private $age = 99; 
  9.  public function getAge(){ 
  10.   return "age is ".$this->age; 
  11.  } 
  12. class UserAdmin{ //操作. 
  13.  public static function  getUserInfo(User $_user){ 
  14.   if($_user instanceof NormalUser ){ 
  15.    echo $_user->getAge(); 
  16.   }else
  17.    echo "類型不對,不能使用這個方法."
  18.   } 
  19.  } 
  20. $User = new User(); // 這里new的是User. 
  21. UserAdmin::getUserInfo($User); 
  22. ?> 

程序運行結果:類型不對,不能使用這個方法.

這就是php關鍵字instanceof的用法.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲奶大毛多的老太婆| 国产日韩欧美在线观看| 亚洲福利视频二区| 国产成人高清激情视频在线观看| 亚洲综合大片69999| 亚洲国内精品在线| 国产主播精品在线| 久久91亚洲精品中文字幕| 福利视频导航一区| 欧洲精品在线视频| 日韩在线视频网| 亚洲成人国产精品| 国产在线观看精品一区二区三区| 2020久久国产精品| 欧美做爰性生交视频| 最好看的2019年中文视频| 国产精品视频99| 日韩av网址在线| 欧美伦理91i| 国产伦精品免费视频| 亚洲精品国产精品自产a区红杏吧| 日韩亚洲欧美中文在线| 中国人与牲禽动交精品| 国产经典一区二区| 日韩欧美精品免费在线| 日韩av电影手机在线| 欧美日韩一二三四五区| 久久成年人免费电影| 日韩电影中文字幕| 国产福利视频一区| 久久精品在线视频| 一区二区三区动漫| 亚洲精品电影网站| 欧美激情欧美狂野欧美精品| 欧美专区在线播放| 91在线视频成人| 久久久久中文字幕2018| 欧美大学生性色视频| 欧美色欧美亚洲高清在线视频| 久久视频国产精品免费视频在线| 91精品国产九九九久久久亚洲| 亚洲人成77777在线观看网| 日日狠狠久久偷偷四色综合免费| 亚洲精品www久久久久久广东| 亚洲国产日韩欧美综合久久| 欧美精品免费在线| 国产精品无码专区在线观看| 亚洲欧美第一页| 亚洲a中文字幕| 亚洲欧美日韩精品久久奇米色影视| 久久精品美女视频网站| 精品精品国产国产自在线| 亚洲欧洲在线看| 亚洲午夜av电影| 国产精品人成电影在线观看| 伊人伊人伊人久久| 欧美另类极品videosbest最新版本| 亚洲**2019国产| 亚洲一区二区福利| 成人网在线免费观看| 亚洲丝袜在线视频| 亚洲成人网久久久| 亚洲视频在线观看| 亚洲国产精品小视频| 国产精品久久久999| 疯狂蹂躏欧美一区二区精品| 91中文精品字幕在线视频| 国产精品久久久久久久久久久新郎| 欧美综合激情网| 亚洲精品一区二三区不卡| 九九视频这里只有精品| 久久视频中文字幕| 亚洲精品视频免费| 精品亚洲va在线va天堂资源站| 91在线观看免费观看| 日本一本a高清免费不卡| 日本欧美精品在线| 亚洲天堂av在线播放| 亲爱的老师9免费观看全集电视剧| 5278欧美一区二区三区| 国产97色在线| 中文字幕免费国产精品| 日韩av在线网| 亚洲性猛交xxxxwww| 色综合伊人色综合网| www.日韩.com| 亚洲欧洲黄色网| 国产一区二区免费| 国产一区二区三区四区福利| 国产精品久久久久久久久久小说| 久久久久久久久久久亚洲| 欧美精品久久久久久久| 激情成人中文字幕| 红桃视频成人在线观看| 欧美日本啪啪无遮挡网站| 成人伊人精品色xxxx视频| 日韩亚洲第一页| 国产精品久久久久久久久粉嫩av| 中文字幕日韩有码| 国产欧美日韩精品专区| 午夜精品一区二区三区在线视| 欧美精品videossex88| 精品爽片免费看久久| 国产性猛交xxxx免费看久久| 777国产偷窥盗摄精品视频| 久久在线观看视频| 91午夜理伦私人影院| 国产精品jvid在线观看蜜臀| 亚洲人成电影网站色…| 一区三区二区视频| 国产在线日韩在线| 91精品久久久久久久久久久| 黄色成人在线免费| 国产一区二区三区视频免费| 亚洲最新视频在线| 日韩av在线最新| 欧美中文字幕视频在线观看| 欧美另类老肥妇| 成人妇女免费播放久久久| 久久久久久久亚洲精品| 日韩电影中文字幕在线观看| 精品国产依人香蕉在线精品| 欧洲精品久久久| 尤物yw午夜国产精品视频明星| 亚洲国产精品高清久久久| 亚洲男女性事视频| 欧美激情精品久久久| 国产精品免费视频久久久| 日韩精品有码在线观看| 国外成人免费在线播放| 911国产网站尤物在线观看| 国产精品一区久久| 国产精品久久久久77777| 伊人久久综合97精品| 亚洲老头老太hd| 日本精品免费观看| 1769国内精品视频在线播放| 日韩激情av在线播放| 久久久久亚洲精品国产| 麻豆乱码国产一区二区三区| 国产亚洲福利一区| 欧美日韩第一页| 国产婷婷97碰碰久久人人蜜臀| 久久影院在线观看| 欧美亚洲免费电影| 日韩电影网在线| 久久影院中文字幕| 日韩av电影在线免费播放| 日本免费在线精品| 4388成人网| 中国人与牲禽动交精品| 亚洲国产97在线精品一区| 亚洲欧美中文另类| 国产盗摄xxxx视频xxx69| 性亚洲最疯狂xxxx高清| 隔壁老王国产在线精品| 国产精品亚洲欧美导航| 久久精品亚洲94久久精品| 日韩欧美视频一区二区三区| 成人在线视频网| 欧美一级电影免费在线观看| 97成人超碰免| 国产亚洲aⅴaaaaaa毛片| 国产色婷婷国产综合在线理论片a|