首頁 >後端開發 >PHP7 >php7新增不會報undefined怎麼辦

php7新增不會報undefined怎麼辦

DDD
DDD原創
2023-08-10 13:03:491156瀏覽

php7新增不會報undefined解決方法:1、透過修改php.ini檔案來改變PHP的錯誤報告等級;2、在程式碼中使用error_reporting函數來動態地設定錯誤報告等級;3、使用isset和empty等函數來檢查變數是否已定;4、使用PHP的嚴格模式來強制要求變數在使用之前必須先聲明,這樣可以更早發現和修復潛在的問題。

php7新增不會報undefined怎麼辦

本文的操作環境:Windows10系統、PHP7.4版本、Dell G3電腦。

在PHP 7中,當我們存取一個未定義的變數或呼叫未定義的函數時,不再報錯,而是會拋出一個E_NOTICE等級的錯誤,並且傳回一個NULL值。這種行為的改變是為了提高程式碼的健全性和可讀性。

然而,對於某些開發者來說,他們可能希望在PHP 7中仍然能夠得到未定義變數的報錯,以便及時發現和修復潛在的問題。幸運的是,PHP 7提供了一些選項來控制這種行為。

1、透過修改php.ini檔案來改變PHP的錯誤報告層級。

在php.ini檔案中,可以找到一個叫做error_reporting的設定項,它決定了PHP應該要報告哪些錯誤。預設情況下,這個配置項目的值是E_ALL & ~E_NOTICE,這表示PHP會報告所有的錯誤,除了E_NOTICE等級的錯誤。我們可以將其修改為E_ALL來啟用所有錯誤的報告,包括未定義變數的錯誤。

2、在程式碼中使用error_reporting函數來動態地設定錯誤報告層級。

例如,我們可以在程式碼的開頭使用以下語句來啟用所有錯誤的報告:

error_reporting(E_ALL);

3、使用isset和empty等函數來檢查變數是否已定義。

這些函數可以幫助我們在存取變數之前進行判斷,避免使用未定義的變數。

4、使用PHP的嚴格模式(strict mode)來強制要求變數在使用前必須先宣告。

嚴格模式可以透過在程式碼的開頭新增以下語句來啟用:

declare(strict_types=1);

在嚴格模式下,PHP會在存取未定義變數時拋出錯誤,且不會自動將其初始化為NULL。這樣可以幫助我們更早發現和修復潛在的問題。

總結

如果我們希望在PHP 7中仍然能夠得到未定義變數的報錯,我們可以透過修改php.ini檔案或使用error_reporting函數來改變錯誤報告級別,使用isset和empty等函數來檢查變數是否已定義,以及啟用嚴格模式來強制要求變數的聲明。這些方法可以幫助我們在開發過程中及時發現和修復潛在的問題,並提高程式碼的健全性和可讀性。

以上是php7新增不會報undefined怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn