<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ``` const 類常量(php5.3引入) 類內調用常量屬性:self::常量名 // 類外獲取類中的常量屬性類名::常量名; const是常量 值不能修改了 static是[靜態成員](https://www.baidu.com/s?wd=%E9%9D%99%E6%80%81%E6%88%90%E5%91%98&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dBnWRYPHF-PvFWuWbdrH7h0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHcdP10srHn1)可以在不實例化得情況下 在類外直接訪問 CONST不行 /* ?const:定義常量 ?define('HOST', 'localhost'); */ define('HOST', 'localhost'); echo HOST; // 使用const定義常量 const USER = 'root'; echo USER; class person{ ??? const SS='aa'; ?? ?//self::SS;???這行報錯:得出self調用自身的常量必需放在方法里 ??? public function demo(){ ?????? ?echo '調用自身的常量'.self::SS; ??? } } echo person::SS;//輸出aa? 沒有實例化在外部能調用常量 $obj=new person; $obj->demo();???????????? 類的內部調用常量需要實例化才行 類常量可以被子類繼承,覆蓋(修改值) class Model { ???? // const可以在類內部定義常量屬性 ???? const PASS = ''; ???? public function \_\_construct() ???? { ????????? // 類內調用常量屬性:self::常量名 ???????? ?mysql\_connect(HOST,USER,self::PASS) or die('鏈接失敗'); ???????? ?echo '鏈接成功'; ??? ?} } // 實例化Model類 $m = new Model(); // 類外獲取類中的常量屬性 echo Model::PASS; ``` **獲取常量值的另一種方法** constant(string`$name`) :mixed 返回類常量的值 當你不知道常量名,卻需要獲取常量的值時,**constant()**就很有用了。也就是常量名儲存在一個變量里,或者由函數返回常量名。 ``` define("MAXSIZE", 100); echo MAXSIZE; echo constant("MAXSIZE"); // same thing as the previous line interface bar { const test = 'foobar!'; } class foo { const test = 'foobar!'; } //將常量名定義在變量里 $const = 'test'; var_dump(constant('bar::'. $const)); // string(7) "foobar!" var_dump(constant('foo::'. $const)); // string(7) "foobar!" ``` **在php中定義常量時,const和define的區別?** 使用const使得代碼簡單易讀,const本身就是一個語言結構,而define是一個函數。根本區別在于const會在代碼編譯時定義一個常量,而define則是在代碼運行時才定義一個常量,因為const在編譯時就被執行了,所以它在速度上要比define快得多。尤其是在使用define定義大量常量時,PHP的運行速度會變得非常慢。人們甚至發明了諸如apc_load_constantshide來避免這個問題 1、都可以可用于全局常量。 ``` const FOO = 'BAR';//php5.3+ define('FOO','BAR'); ``` 2、const可在類中使用,一經定義,不可修改define則不能 ``` class Foo { const BAR = 2; // 有效 } class Baz { define('QUX', 2); // 無效 } ``` 3、不能在函數內,循環內以及條件語句(if,三元,&&,||,switch)之內用*const*來定義常量 ``` if (...) { const FOO = 'BAR'; // 無效的 } //對檢測常量是否定義,未定義則定義很用用,const無法做到 if (!defined('FOO')) { define('FOO', 'BAR'); // 有效的 } ``` 4、php5.6之前const不能接受表達式 ``` const BIT_5 = 1 << 5; // 在PHP5.6之后有效,之前無效 define('BIT_5', 1 << 5); // 一直有效 ``` 5、const定義的常量是大小寫敏感的,但是define允許你將其第三個參數設置為true來關閉其對大小寫的敏感(不推薦): php7.3將廢棄大小寫不敏感的常量,將 TRUE 作為第三個參數傳遞給 define() 會導致一個廢棄警告 ``` define('FOO', 'BAR', true); //php7.3會拋出警告哦 echo FOO; // BAR echo foo; // BAR ``` 6、const默認在當前的namespace下定義常量,而使用define則需要你寫明整個namespace的完整路徑: ``` namespace A\B\C; // 如果要定義常量 A\B\C\FOO: const FOO = 'BAR'; define('A\B\C\FOO', 'BAR'); ``` 6、自從PHP5.6后,使用const數組也能被定義為常量。而define目前是不支持這一功能的,但是該功能會在PHP7中被實現: ``` const FOO = [1, 2, 3]; // 在PHP 5.6中有效 define('FOO', [1, 2, 3]); // 在PHP 5.6無效, 在PHP 7.0有效 ``` 總結:除非你需要使用表達式或者在條件語句中定義常量,不然的話僅僅是為了代碼的簡單可讀性你都最好要使用const!
                  <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>

                              哎呀哎呀视频在线观看