我們知道 變量就是 可以改變的量
那常量呢???
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!!!!!