# 常量
[TOC]
首先,什么是常量呢?常量就是值**永遠不變的量**。一旦定義了常量,無法更改或撤銷定義且常量無法刪除。
常量的值可以是:字符串型、整型、浮點型、布爾型、null、數組(PHP7新加),**注意:常量的值不能是對象和資源**。
常量的**值永遠屬于全局**的,**在腳本的任何地方都可以訪問**,請跟變量區分開來。
## 常量的命令規則
* [ ] 常量的命名規則與變量一樣,只能包含字母、數字、下劃線。
* [ ] 常量前面不能帶`$`符號
* [ ] 常量 **不區分大小寫** 但是強烈推薦常量一概大寫
## 常量的定義
```
<?php
# 語法
define('常量名稱','常量的值',[是否大小寫敏感 ture|false] 默認為大小寫敏感);
```
## 常量的判斷
當我們設置了一個常量,那么我們該怎么去判斷這個常量是否已經定義呢?PHP為我們提供了一個函數:defined來判斷常量是否已定義。如果該值已定義返回true,沒有定于返回false。注意:defined**只能檢查常量不能對變量使用**。
```
<?php
# 語法
define('DATABASE','PHP');
if(defined('DATABASE'))
{
echo '真',
}else{
echo '假',
}
```
## 預定義常量
什么是預定義常量,也是就我們系統直接定義好的常量,拿來就可以使用。PHP預定義常量非常非常多,下面就介紹幾個
**PHP常用的預定義常量,以下7個:**
| 預定義常量 | 含義 |
| --- | :-: |
| PHP\_VERSION | 獲取PHP的版本號 |
| PHP\_OS | PHP運行的平臺 |
| M\_PI | 圓周率3.14159.... |
| TRUE | 是關鍵字,也是常量 |
| FALSE | 關鍵字,也是常量 |
| PHP\_INT\_MAX | 最大的整數 |
| PHP\_INT\_MIN | 最小的整數 |
>[danger] 注意:如果說整數值超過了最大和最小整數的取值,那么是會報錯的!
```
<?php
# 語法
echo 'PHP的版本號是:' . PHP_VERSION;
echo 'PHP運行平臺是:' . PHP_OS;
...
```
## 魔術常量
所謂`“魔術常量”`就是這些常量的值,會根據所在的位置而發生改變,即:形式是常量,但值可變
**PHP常用的魔術常量,有以下7個:**
| 魔法常量 | 含義 |
| --- | --- |
| \_\_DIR\_\_ | 當前文件所在的目錄,不包括當前腳本 |
| \_\_FILE\_\_ | 當前文件的絕對路徑,包括當前腳本 |
| \_\_LINE\_\_ | 當前行號 |
| \_\_FUNCTION\_\_ | 當前函數名稱 |
| \_\_CLASS\_\_ | 當前類名稱 |
| \_\_METHOD\_\_ | 當前方法名稱 |
| \_\_NAMESPACE\_\_ | 當前空間名稱 |
```
<?php
# 語法
echo __DIR__;
echo __FILE__;
echo __LINE__;
...
```

- 基礎
- 安裝PHP
- 語言基礎
- 變量
- 變量操作
- 超全局數組變量
- 變量作用域
- 變量傳值方式
- 常量
- 數據類型
- 運算符
- 流程控制
- 文件包含
- 錯誤處理
- 字符串操作
- 數組
- 函數
- 進階
- 面向對象
- 提高
- TP
- 安裝項目
- 框架基礎知識
- 命令創建模塊
- URL生命周期
- 路由操作
- Request請求類
- 參數綁定
- 依賴注入
- 模板操作
- 查詢操作
- 添加操作
- laravel
- ☆目錄結構
- CSRF攻擊
- ☆路由
- ☆控制器
- ☆請求類
- ☆視圖
- ☆模板繼承
- ☆表單驗證
- ☆DB類
- ☆模型
- ☆數據庫遷移
- 類型、修飾、索引
- ☆數據填充
- ☆數據分頁
- ☆session處理
- ☆中間件
- ☆緩存操作
- ☆文件上傳
- ☆接口操作
- ☆擴展插件
- restful
- 工作
- 工作記錄
- QQ登錄
- 新浪登錄
- 微信登錄
- sphinx搜索
- 數據庫
- MySQL
- ☆數據庫操作
- ☆數據表操作
- ☆數據的操作
- 待修改
- 優化
- 存儲引擎選擇
- 列表類型選擇
- 范式
- 慢日志查詢
- 精準時間記錄查詢
- 計劃任務 explain
- 索引
- 索與事務
- 查詢緩存
- 存儲過程
- 觸發器
- 分區
- 分表
- sphinx
- 讀寫分離
- 搜索優化
- 網站靜態化
- Memcache
- Mongodb
- Readis
- php使用redis
- 服務器
- Linux
- 目錄結構
- 常用命令
- VIM編輯器
- 用戶與用戶組
- 權限管理
- 運行級別
- 網絡模式
- ssh
- 軟件安裝
- 計劃任務
- Ubuntu
- 編譯PHP7.3
- 編譯MySQL
- 編譯Nginx
- apache虛擬機配置
- 安裝composer
- Nginx
- Git