PHP 語句執行時先求值右側表達式。語法錯誤(如缺少分號、引號不匹配、大括號未閉合)會導致 Parse Error,腳本立即停止。錯誤信息往往指向後續行,實際錯誤在之前。
關鍵字誤用: 不能將 while、function 等預定義關鍵字作為變量名(如 $while = 10; 會報錯)。錯誤代碼 T_WHILE、T_IF 等標識關鍵字類型。
; 結尾} —— 編譯器會報文件末尾錯誤,調試極難最佳實踐: 嚴格縮進、統一編碼風格、使用 IDE 實時語法檢查,明確代碼層次結構。
Warning: Supplied argument is not a valid MySQL result resource 通常因 SQL 語法錯誤或連接失敗導致 mysql_query() 返回 false,隨後傳給 mysql_fetch_array() 觸發。
排查: 直接在 MySQL 控制台測試 SQL 語句,檢查連接參數、表結構、權限。
| 特性 | echo | |
|---|---|---|
| 返回值 | 無 | 有(成功返回 1,失敗返回 false) |
| 性能 | 略快 | 稍慢 |
| 用法 | 語言結構,可接受多參數 echo $a, $b; | 函數式,單參數 print $a; |
可利用 print 返回值簡寫邏輯:$r = print "Hello"; // $r = 1
兩者值均為「空」,但類型不同:'' 是 string,NULL 是 NULL 類型。
var_dump('' == null); // true(值相等)
var_dump('' === null); // false(類型不等)
==:僅比較值,自動類型轉換("123" == 123 // true)===:比較值 且 比較類型("123" === 123 // false)建議: 除非明確需要類型轉換,優先使用 === 避免隱式轉換陷阱。
| 特性 | include | require |
|---|---|---|
| 包含性質 | 條件包含 | 無條件包含 |
| 錯誤處理 | 警告,腳本繼續執行 | 致命錯誤,腳本停止 |
| 典型場景 | 模板文件、可選模塊 | 核心配置、關鍵類庫 |
示例:if($a){ include 'a.php'; } 只有 $a 為真才包含;require 無視條件總會包含。
isset($var):變量已聲明 且 不為 NULL 返回 trueempty($var):變量為「空值」("", 0, "0", NULL, false, array(), 未聲明)返回 true典型場景:isset($_POST['key']) 檢測提交是否存在;empty($_POST['key']) 檢測提交內容是否為空。
self::(域解析操作符):訪問 靜態成員(static 屬性/方法、const 常量)$this->(對象操作符):訪問 實例成員(非靜態屬性/方法)錯誤示例:class A { static $x=1; function foo(){ echo $this->x; } } 應為 self::$x。