2012-10-23 65 views
-3

在PHP突然面對這樣的:爲什麼一個類是一個字符串的實例?

<?php 
    class MyClass{}; 
    $a=new MyClass(); 
    $b="MyClass"; 
    var_dump($a instanceof $b); 

結果:

bool(true) 

爲什麼這是真的嗎?

+2

因爲'$ a'對象是名爲'MyClass'的類的實例嗎? – nickb

+0

尼克這是一​​個字符串。大聲笑 – VoronoiPotato

+1

嘗試與'==='和它的假,猜爲什麼 – Soundz

回答

7

檢查the documentation, example 5

$a = new MyClass; 
var_dump($a instanceof $c); // $c is a string 'MyClass' 
:(重點煤礦)

儘管的instanceof通常與文字類名所使用的,它可以 也可以與其他對象或字符串變量使用

結果:

bool(true) 
2

instanceof操作者可以使用類工作,也與類名作爲串。

雖然的instanceof通常與文字類名使用,也可與其他物體或一個字符串變量

http://php.net/manual/en/language.operators.type.php

使用,還有您發佈確切的例子,所以我不不知道你從哪裏來,但是...

相關問題