php基礎---常量

我們知道 變量就是 可以改變的量
那常量呢???


    include(Demo . php);

誒 上面的這是什麼??
變量?
哦。。。我知道了 他肯定是常量。
我的回答是 : 錯 錯 錯
正確的是:引用其他文件 就相當於吧其他引入的文件的代碼 塞在引入所在地

導入一個概念後 就好說了 ,可能你會覺得 上面的代碼 一定和常量有關係
但是 我的回答是 :錯 他兩個一點關係沒有 只是在本頁面 引入 其他頁面的文件
就像 HTML引入 外部CSS文件一樣 。

那麼我們繼續看變量:什麼是變量:開頭的時候 我們也說了 變量就是 隨意賦值 隨意改變的量 。比如:

 $a = 10;
 $a = 100;
 $a = 520;

那下面的場景來了 :如果我不想讓這個 a的值改變 怎麼辦呢???
注意哦 是不想改變他的值 。

來我們瞭解一位新成員 ——> 常量

這時 你會覺得 :哇塞 常量好帥啊 ! 獨來獨往 ! 不受他人影響 !
我好喜歡呀!
我會 回答你:呸呸呸!他又不是人 ,來喜歡我。

那什麼是常量呢??
常量:就是一旦定義就不能被修改。

爲什麼需要常量呢??
變量已經可以滿足我們了呀

我來回答你 ,不渴望新技術的程序員 不是大帥哥。

因爲有時候 我們的值是不需要被修改的

繼續看下 常量是如何定義的:define(“常量名”,“常量值”);
那常量如何引用的呢?? ——>直接echo:"變量名"
注意!:常量的引用沒有$符號
ok不ok

下面我們來看一下 常量的特點:
1:一旦定義不能修改
2:常量的值也不能被修改
3:常量在全局頁面都能訪問到

看代碼: Look here

define("heghit", 8847);

下面我進行修改 heghit的值:

heghit = 88999;

然後你在看 然而 就像我說的一樣 一旦定義就不能被修改
下面還是 heghit:

define("heghit", 888888);
echo heghit;//還是8847

看下全部代碼:

    define("heghit", 8847);
    echo heghit;
    define("heghit", 888888);
    echo heghit;//還是8847

然而 就像我說的一樣 一旦定義就不能被修改在這裏插入圖片描述
運行結果 是不是 還是沒變 俗話說:一旦定義就不能修改

看下面的代碼:

 define("HEI", 888888);
    $a = 100;
    function t()
    {
        echo HEI;
        echo sex;
        echo name;
        //var_dump($a);  
        //直接報錯 變量的作用域沒有在函數方法內
       **但是常量一旦定義 你就可以在 頁面的任何的旮旯裏都可以訪問到**
    }

    t();

在這裏插入圖片描述
在這裏 說一下 var_dump(); 打印的是 常兩或者 變量的類型 就是連同他的類型一起輸出

再來看一下 常量的命名規則:和變量一樣 but 常量名習慣上大寫

如果不知道 變量的命名規則 麻煩您 去抽根菸 好好想一下…
如下:

define("HEI", 8890);

總結:如果引用一個未曾定義的常量 最終會把常量名當作字符串 打印出來
因爲沒有定義 找不到該常量的值 所以會把常量名當作 字符串打印出來。

如下:

 echo '<hr/>';
 echo ssj;
 echo "++==++++==+++==+++=++==++==++++==++++=+++=+++++=+++++++";

運行結果:
在這裏插入圖片描述

接下來 我們看一下 常來那個的類型:
我們昨天學到了 變量的 基本類型有八種
那常量的基本類型 有幾種呢??

整形:

     $ssj = 10;
    define("ssj", 20);
    echo $ssj, ssj;

浮點型

     $ssj = 1.5;
    define("lll", 2.8);
    echo $ssj, lll;

字符串

	 $ssj = "kkkk";
    define("jjj", "kkkk");
    echo $ssj, jjj;

NULL

	$ssj = null;
    define("ggg", null);
    var_dump($ssj);
    var_dump(ggg);

以上五種類型都可以賦值給變量和常量,我們稱之爲《標量》

那我們知道 一個變量的 存不存在 用isset 檢測。如果一個常量不存在 用什麼檢測呢?
答:用 defind(“常量名”) 存在爲 true 不存在 false
看代碼:


 if (defined("shiji")) {
        echo "已經定義";
    } else {
        define("shiji", "kkkk");//走這裏
    }

    if (defined("shiji")) {
        echo "已經定義";//走這裏
    } else {
        define("shiji", "kkkk");
    }

我們還知道 變量名可以是動態的 即變量的名字還可以是 一個變量;
那麼常量是否也是動態的呢??

$who = $_GET['who'];

    define("one", "one");
    define("two", "two");
    define("thre", "thre");
    //想要動態常量的話 即想用變量的值當常量名的話 必須要靠constanst函數,纔可以
    echo constant($who)

注意上面的那句話:
想要動態常量的話 即想用變量的值當常量名的話 必須要靠constanst函數,纔可以

完結 OVER!!!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章