<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 類型運算符 instance用于確定一個PHP變量是否屬于某一類[class](http://php.net/manual/zh/language.oop5.basic.php#language.oop5.basic.class) 的實例: **Example #1**對類使用instanceof ``` <?php class MyClass { } class NotMyClass { } $a = new MyClass; var_dump($a instanceof MyClass); var_dump($a instanceof NotMyClass); ``` 以上例程會輸出 : ~~~ bool(true) bool(false) ~~~ *instanceof* 也可用來確定一個變量是不是繼承自某一父類的子類的實例: **Example #2 對繼承類使用 *instanceof*** ``` <?php class?ParentClass { } class?MyClass?extends?ParentClass { } $a?=?new?MyClass; var_dump($a?instanceof?MyClass); var_dump($a?instanceof?ParentClass); ?> ``` 以上例程會輸出: ~~~ bool(true) bool(true) ~~~ 檢查一個對象是否*不是*某個類的實例,可以使用[邏輯運算符 *not*](http://php.net/manual/zh/language.operators.logical.php)。 **Example #3 使用 *instanceof* 檢查對象*不是*某個類的實例** ``` <?php class?MyClass { } $a?=?new?MyClass; var_dump(!($a?instanceof?stdClass)); ?> ``` 以上例程會輸出: ~~~ bool(true) ~~~ 最后,*instanceof*也可用于確定一個變量是不是實現了某個[接口](http://php.net/manual/zh/language.oop5.interfaces.php)的對象的實例: **Example #4 對接口使用 *instanceof*** ``` <?php interface?MyInterface { } class?MyClass?implements?MyInterface { } $a?=?new?MyClass; var_dump($a?instanceof?MyClass); var_dump($a?instanceof?MyInterface); ?> ``` 以上例程會輸出: ~~~ bool(true) bool(true) ~~~ 雖然 *instanceof* 通常直接與類名一起使用,但也可以使用對象或字符串變量: **Example #5 對其它變量使用 *instanceof*** ``` <?php interface?MyInterface { } class?MyClass?implements?MyInterface { } $a?=?new?MyClass; $b?=?new?MyClass; $c?=?'MyClass'; $d?=?'NotMyClass'; var_dump($a?instanceof?$b);?//?$b?is?an?object?of?class?MyClass var_dump($a?instanceof?$c);?//?$c?is?a?string?'MyClass' var_dump($a?instanceof?$d);?//?$d?is?a?string?'NotMyClass' ?> ``` 以上例程會輸出: ~~~ bool(true) bool(true) bool(false) ~~~ 如果被檢測的變量不是對象,instanceof 并不發出任何錯誤信息而是返回 **`FALSE`**。不允許用來檢測常量。 **Example #6 用 *instanceof* 檢測其它變量** ``` <?php $a?=?1; $b?=?NULL; $c?=?imagecreate(5,?5); var_dump($a?instanceof?stdClass);?//?$a?is?an?integer var_dump($b?instanceof?stdClass);?//?$b?is?NULL var_dump($c?instanceof?stdClass);?//?$c?is?a?resource var_dump(FALSE?instanceof?stdClass); ?> ``` 以上例程會輸出: ~~~ bool(false) bool(false) bool(false) PHP Fatal error: instanceof expects an object instance, constant given ~~~ 然而instanceof的使用還有一些陷阱必須了解。在PHP5.1.0之前,如果要檢查的類名稱不存在,instanceof會調用[\_\_autoload()](http://php.net/manual/zh/function.autoload.php)。另外,如果該類沒有被裝載則會產生一個致命錯誤。可以通過使用動態類引用或用一個包含類名的字符串變量來避開這種問題: **Example #7 避免 PHP 5.0 中 instanceof 引起的類名查找和致命錯誤問題** ``` <?php $d?=?'NotMyClass'; var_dump($a?instanceof?$d);?//?no?fatal?error?here ?> ``` 以上例程會輸出: ~~~ bool(false) ~~~ *instanceof* 運算符是 PHP 5 引進的。在此之前用 [is\_a()](http://php.net/manual/zh/function.is-a.php),但是后來 [is\_a()](http://php.net/manual/zh/function.is-a.php) 被廢棄而用 *instanceof* 替代了。注意自 PHP 5.3.0 起,又恢復使用 [is\_a()](http://php.net/manual/zh/function.is-a.php) 了。 參見 [get\_class()](http://php.net/manual/zh/function.get-class.php) 和 [is\_a()](http://php.net/manual/zh/function.is-a.php)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看