php 內置調試函數:var_dump() 顯示變量詳細信息,類型、值、結構。print_r() 以更佳可讀格式打印信息,適用于調試復雜數據結構。error_log() 記錄消息到錯誤日志,方便記錄調試信息、錯誤或警告。
如何使用 PHP 內置函數對代碼進行調試
PHP 提供了幾個內置函數,可以幫助你調試代碼。這些函數使用起來很簡單,但可以節省大量的時間和精力。
var_dump()
var_dump()
函數顯示變量的信息,包括其類型、值和結構。這對于檢查變量是否包含預期的值或類型非常有用。
$array = ['foo' => 'bar', 'baz' => 'qux']; var_dump($array);
登錄后復制
輸出:
array(2) { ["foo"]=> string(3) "bar" ["baz"]=> string(3) "qux" }
登錄后復制
print_r()
print_r()
函數類似于 var_dump()
,但它以更可讀的格式打印信息。這對于調試復雜數據結構很有用。
$object = new stdClass(); $object->name = 'John Doe'; $object->age = 30; print_r($object);
登錄后復制
輸出:
stdClass Object ( [name] => John Doe [age] => 30 )
登錄后復制
error_log()
error_log()
函數將消息記錄到錯誤日志。這對于記錄調試信息、錯誤或警告很有用。
error_log('調試信息:變量 $name 為空。');
登錄后復制
實戰案例
假設你有一個函數,用于計算字符串中的單詞數量。然而,這個函數返回錯誤的結果。你可以使用這些 PHP 內置函數來調試代碼:
function word_count($string) { // 分割字符串成單詞 $words = explode(' ', $string); // 返回單詞數量 return count($words); } // 測試函數 $string = 'This is a test string.'; $result = word_count($string); // 檢查結果 if ($result != 5) { error_log('函數 word_count() 返回錯誤的結果。'); }
登錄后復制
通過使用 error_log()
函數記錄調試信息,你可以輕松查明函數返回錯誤結果的原因。