使用 $ 符號來定義變數
$nana = "一隻傲嬌的貓,名叫娜娜"
跟 javascript 一樣,把 $ 變數放在 function 裏面是區域變數,放在外面就是全域變數
預設變數都是全域變數
以下是從「挑戰PHP7/MySQL程式設計與超強專題特訓班」一書中第3-9頁整理的預設變數的表格,我這邊簡簡單單地呈現
預設變數 | 說明 |
---|---|
$GLOBALS | 將城市範圍中所有定義的痊癒變數儲存為資訊陣列 |
$_SERVER | 存放網頁伺服器或目前的城市環境的資訊陣列(書中還有提供一個內表格在裡面,主要都是跟網頁路路徑、伺服器、IP位置有關的) |
$_ENV | 存放 PHP 執行環境相關的資訊陣列 |
$_GET | 以 GET 方式傳入的陣列 |
$_POST | 以 POST 方式傳入的陣列 |
$_SESSION | SESSION 的陣列 |
$_COOKIE | COOKIE 的陣列 |
$_FILES | 以 POST 方式上傳檔案的陣列 |
$_REQUEST | 包含 GET,POST,COOKIE,FILE 的陣列資料 |
//「挑戰PHP7/MySQL程式設計與超強專題特訓班」書本3-10的範例
<?php
echo '目前網頁的虛擬路徑為:';
echo $_SERVER['PHP_SELF'];
?>
回傳的圖片
常數不需要使用 $ 符號來定義常數
可以使用這兩個方法來定義常數
define(常數名稱, 常數值)
const 常數名稱 = 常數值;
過去可以在 define(常數名稱, 常數值 ,True或False)裡面寫第三個值
在 define第三個值可以寫,也可以不寫,意思是常數名稱是否敏感,預設為 False,如果寫成 True 表示大小寫不敏感,即使常數名稱是大寫,用小寫也可以呼叫這個常數,但是這個在後續的更新版已經不支援了,所以現在寫第三個值,會噴Warning: define(): Argument #3 ($case_insensitive) is ignored since declaration of case-insensitive constants is no longer supported
的錯誤
define("PI", 3.14, true);
echo PI; // 输出 3.14
echo pi; // 因為大小寫不敏感,也输出 3.14
常數一旦定義了就不能更改,也不能拿來運算
常數也不受犯圍的控制
使用預設常數來了解 PHP 相關的資訊
預設常數 | 說明 |
---|---|
PHP_VERSION | 目前 PHP 運行的版本 |
PHP_OS | 目前伺服器的作業系統 |
會隨著在 code 中的位置改變而改變,白話來說,就是寫的地方不一樣,出來的結果也就不一樣
魔術常數 | 說明 |
---|---|
LINE | 程式碼現在第幾行 |
FILE | 取得路徑與檔名 |
DIR | 取得完整的路徑,沒有檔案名稱 |
FUNCTION | 涵式名稱 |
CLASS | 取得類別名稱 |
METHOD | 取得類別方法名稱 |
NAMESPACE | 取得命名空間名稱 |