国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP中的is_a()函數(shù)和instanceof之間有什么區(qū)別?

2024-09-04 11:49:45
字體:
供稿:網(wǎng)友

在PHP中is_a()函數(shù)和instanceof運算符的功能是相似的,那么它們之間有什么區(qū)別?下面本篇文章就來帶大家簡單了解一下is_a()函數(shù)和instanceof,介紹is_a()函數(shù)和instanceof的區(qū)別是什么,希望對大家有所幫助。

PHP is_a()函數(shù)

is_a()函數(shù)是PHP中的內(nèi)置函數(shù),用于檢查給定對象是否屬于給定類;它還檢查給定的類是否是給定對象的父類之一。

基本語法:

is_a( $object, $class_name, $allow_string )

參數(shù):is_a()函數(shù)可以接受以下三個參數(shù)

● object:用于保存測試對象。

● class_name:用于保存類名。

● allow_string:如果設(shè)置的值為False,則不允許將字符串類名稱作為對象。

返回值:如果對象屬于給定的類,或者此類作為其父類之一,則is_a()函數(shù)返回True,否則將返回False值。

下面通過代碼示例來了解一下is_a()函數(shù)。

  1. <?php   
  2.  
  3. class hello {   
  4.  
  5.     var $store = 'Hello PHP!';   
  6.  
  7. }   
  8.  
  9.       
  10.  
  11. $PHPnew hello();   
  12.  
  13.       
  14.  
  15. // 檢查$PHP是否是hello類的對象 
  16.  
  17. if (is_a($PHP'hello')) {   
  18.  
  19.     echo "Yes";   
  20.  
  21. }  //Vevb.com 
  22.  
  23.       
  24.  
  25. ?> 

輸出:

Yes

PHP instanceof運算符

在PHP中使用instanceof運算符來查明對象是否是類的實例化實例。

基本語法:

$a instanceof MyClass

操作數(shù):instanceof運算符包含以下兩個操作數(shù)

● $a:表示對象。

● MyClass:表示是一個類名。

返回值:如果對象屬于該給定的類,或者將此類作為其父類之一,則返回True,否則返回False值。

下面通過代碼示例來了解一下instanceof運算符。

  1. <?php   
  2.  
  3. class hello {   
  4.  
  5.     var $store = 'Hello PHP!';   
  6.  
  7. }   
  8.  
  9.  
  10. $PHPnew hello();   
  11.  
  12.  
  13. // 檢查$PHP是否是hello類的對象 
  14.  
  15. if ($PHP instanceof hello) {   
  16.  
  17.     echo "Yes";   
  18.  
  19. }   
  20.  
  21. ?> 

輸出:

Yes

is_a()函數(shù)和instanceof運算符之間的區(qū)別

● is_a()是一個函數(shù),而instanceof是一個語言結(jié)構(gòu)。is_a()函數(shù)將顯著變慢,因為它具有執(zhí)行函數(shù)調(diào)用的所有開銷。

● 在函數(shù)回調(diào)的情況下(如array_map),因為instanceof不是函數(shù),它是一種語言構(gòu)造,所以它不能用作回調(diào)。但,回調(diào)可以在is_a()函數(shù)中使用。

● InstanceOf中直接類名的使用時間短于is_a()函數(shù)。

例:

  1. //語法短(比較) 
  2.  
  3. $a instanceof MyClass 
  4.  
  5. is_a$a, MyClass::class ) 

● is_a()是一個函數(shù),它將一個對象作為參數(shù)1,將一個字符串作為參數(shù)2,而instanceof將一個對象作為參數(shù)1,并且可以將類名、對象實例或類標識符(不帶引號的類名)作為參數(shù)2。

is_a()的示例:

//只有這樣才能調(diào)用它

is_a($object,$string);

instanceof示例:

  1. //對象實例       
  2.  
  3. $object instanceof $otherObject;  
  4.  
  5. //字符串類名 
  6.  
  7. $object instanceof $string
  8.  
  9. //類的標識符 
  10.  
  11. $object instanceof ClassName; 

 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 舟山市| 东方市| 永胜县| 镶黄旗| 新绛县| 民丰县| 肥乡县| 辛集市| 邵阳市| 诸城市| 三门县| 沙河市| 余干县| 汝州市| 文成县| 古蔺县| 普陀区| 清河县| 楚雄市| 晋江市| 揭东县| 清河县| 昭平县| 盐亭县| 峡江县| 灯塔市| 武邑县| 黔西| 阿瓦提县| 乐都县| 岑巩县| 青浦区| 广东省| 比如县| 吉林省| 九江市| 广元市| 忻州市| 沽源县| 新龙县| 凌海市|