整理 PHP 開發中最高頻使用的語法片段,涵蓋字串操作、陣列處理、時間格式化、連結產生與表單常用判斷,適合作為開發時的快速參考卡。
| 需求 | 語法/函式 | 範例 |
|---|---|---|
| 取得長度 | strlen($str) | $len = strlen($str); |
| 判斷非空 | if ($str) / if (!empty($str)) | if (!$str) echo "false"; else echo "true"; |
| 切割字串 | explode($delimiter, $str) / preg_split() | $arr = explode("/", $str); |
| 取代字串 | str_replace($search, $replace, $str) | str_replace("-", "/", $str); 或陣列批次取代 |
| 子字串 | substr($str, $start, $len) / mb_substr() (多位元組) | mb_substr($str, 0, 10, 'UTF-8'); |
| 大小寫轉換 | strtolower() / strtoupper() / ucfirst() / ucwords() | ucwords('hello world'); // Hello World |
| 去除空白 | trim() / ltrim() / rtrim() | trim($str); |
| 需求 | 語法/函式 | 範例 |
|---|---|---|
| 取得長度 | count($arr) | $i = count($array_name); |
| 合併陣列 | array_merge($a, $b) / $a + $b | 鍵名衝突行為不同,詳見專文 |
| 檢查鍵存在 | array_key_exists($key, $arr) / isset($arr[$key]) | isset($arr['id']) (值為 null 回傳 false) |
| 檢查值存在 | in_array($val, $arr, $strict) | in_array('needle', $haystack, true); |
| 陣列去重 | array_unique($arr) | 保留第一次出現的鍵名 |
| 鍵值互換 | array_flip($arr) | 值必須唯一,否則資料遺失 |
| 取得所有鍵/值 | array_keys($arr) / array_values($arr) | 重新索引數值陣列用 array_values() |
id, $user->name);
// 原生 PHP 產生連結
$url = 'user/show?id=' . urlencode($user->id);
echo "" . htmlspecialchars($user->name) . "";
| 變數 | 用途 |
|---|---|
$_GET | URL 參數 |
$_POST | 表單 POST 資料 |
$_REQUEST | GET+POST+COOKIE (不建議使用,來源不明確) |
$_SERVER['REQUEST_METHOD'] | 判斷 GET/POST |
$_FILES | 上傳檔案資訊 |
$_SESSION | Session 資料 |
$_COOKIE | Cookie 資料 |
isActive ? '啟用' : '停用';
// Null 合併運算子 (PHP 7+)
$name = $input['name'] ?? '預設名稱';
// 空值合併賦值 (PHP 7.4+)
$data['count'] ??= 0;
熟練這些核心語法能顯著提升開發速度。建議搭配 IDE 代碼片段功能,將常用模板存為 Snippet。記住:字串處理優先用 mb_* 函式支援 UTF-8,陣列操作善用內建函式避免手寫迴圈,時間處理推薦 DateTime 物件導向介面(PHP 5.2+)。