變量是程序操作數據的核心容器。PHP 變量以 $ 開頭,無需聲明類型,賦值即定義。本文系統梳理命名規則、類型系統、輸出方法,適合入門與查漏補缺。
$VAR_NAME 與 $var_name 是兩個不同變量。; 結束。合法:$name, $user_name, $var123
非法:$123var, $var-name, $var@name
PHP 根據賦值自動推斷類型,無需關鍵字聲明:
| 類型 | 示例 | 說明 |
|---|---|---|
| 整型 | $x = 100; | 十進制、十六進制 (0x)、八進制 (0)、二進制 (0b) |
| 浮點型 | $price = 19.99; | 科學計數法 1.2e3 |
| 字符串 | $str = "I am a Chinese!"; | 雙引號解析變量/轉義,單引號原樣,Heredoc/Nowdoc 多行 |
| 布爾型 | $bool = true; | true/false 不區分大小寫 |
| 數組 | $arr = [1,2,3]; | 有序映射,鍵可為整數/字符串 |
| 對象 | $obj = new MyClass(); | 類實例 |
| NULL | $var = null; | 無值 |
| 資源 | $fp = fopen(...); | 外部資源句柄 |
<?php
$str = "我是一個中國人";
$age = 28;
echo $str . "<br>";
echo "我今年" . $age . "歲了";
?>
輸出結果:
我是一個中國人
我今年28歲了
<?php ... ?>:PHP 代碼標記。. 字符串連接運算符(非 +)。<br> HTML 換行標籤,雙引號中直接書寫。echo "我今年$age歲了";(簡潔但複雜表達式需用 {$age})。$$name = 'value'; 即 $title = 'value';(慎用,降低可讀性)。$a = &$b; 兩者指向同一內存,修改互相影響。unset($var); 釋放內存,變量不再存在。isset($var)、empty($var)、is_null($var) 差異需熟記。Notice: Undefined variable,開啟 error_reporting(E_ALL) 開發期捕獲。+ → 自動轉數字相加,導致邏輯錯誤。$UserName vs $username。掌握變量基礎,是 PHP 進階之路的基石。