一、PHP 註解三種寫法
<?php
// 單行註解(C++ 風格)
/*
多行註解(C 風格)
可跨多行
*/
# Shell 風格單行註解(較少用)
?>
二、PHP 代碼嵌入方式
| 標籤 | 說明 | 建議 |
<?php ... ?> | 標準標籤,永遠可用 | 推薦 |
<? ... ?> | 短標籤,需 short_open_tag=On | 不推薦(可攜性差) |
<script language="php">...</script> | HTML 標籤風格 | 過時,不建議 |
<% ... %> | ASP 風格,需設定 | 已移除(PHP 7+) |
三、引用外部檔案
<?php
// include:條件載入、模板、非關鍵
include("MyIncludeFile.php");
// 或不加括號:include "MyIncludeFile.php";
// require:核心依賴、啟動階段、關鍵檔案
require("MyRequireFile.php");
// 防重複載入
include_once "config.php";
require_once "autoload.php";
?>
四、變數命名規範
- 以
$ 開頭:$variable
- 區分大小寫:
$var ≠ $Var
- 首字元:字母或底線
_(不可為數字)
- 後續:字母、數字、底線
- 慣例:
camelCase、snake_case、$GLOBAL_CONST
$myString = "我是字串";
$NEWLINE = "換行了";
$int1 = 38;
五、八大資料類型
1. 標量類型(4 種)
| 類型 | 關鍵字 | 範例 | var_dump 輸出 |
| 布林 | boolean/bool | true/false | bool(true) / bool(false) |
| 整數 | integer/int | 5, -10, 0x1A, 0b101 | int(5) |
| 浮點數 | float/double | 123.456, 1.2e3 | float(123.456) |
| 字串 | string | 見下方 | string(19) "Welcome To BeiJing" |
字串四種定義方式
<?php
// 雙引號:解析變數、跳脫字元
$str = "Welcome To BeiJing";
// 單引號:字面值,速度較快
$str2 = 'prometheus';
// Heredoc:多行、解析變數
$k = <<
2. 複合類型(2 種)
- 陣列:有序映射,
array() 或 []
- 物件:類別實例,
new ClassName()
3. 特殊類型(2 種)
- 資源:外部資源控制代碼(檔案、資料庫連線、圖片資源等)
- NULL:無值,未初始化變數、
unset() 後、賦值 null
六、變數類型檢查
<?php
var_dump($k); // 完整類型與值
var_dump($str);
var_dump($str2);
var_dump($int1);
var_dump($dou);
?>
七、變數作用域
全域變數在函數中使用
<?php
$a = 10;
$b = 20;
function test() {
global $a, $b; // 宣告使用全域變數
echo $a + $b; // 30
}
test();
?>
- 函數預設建立區域作用域
global 關鍵字引入全域變數參考
- 超全域變數(
$GLOBALS, $_GET, $_POST, $_SESSION 等)無需宣告即可在任何作用域存取
- 靜態變數:
static $count = 0; 保持函數調用間的值
現代 PHP 類型系統補充(PHP 7+)
- 類型宣告:函數參數/回傳值可指定
int, float, bool, string, array, callable, iterable, 類別名
- 嚴格模式:
declare(strict_types=1); 強制類型檢查
- 可為空類型:
?string 或 string|null
- 聯合類型:
int|float(PHP 8.0+)
- 混合類型:
mixed(PHP 8.0+)