萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> 解決關於PHP“Undefined variable”變量未定義

解決關於PHP“Undefined variable”變量未定義

php中變量可以不定義的但是我們如果不對錯誤進行一些處理在使用未定義的變量時會提示Undefined variable錯誤了,下面我給大家舉幾個實例。

PHP錯誤提示“Undefined variable”:變量未定義,如果你在php.ini設置中屏蔽了Notice這個等級的提示那麼他就不會顯示任何提示了,但是為了程序的嚴謹性考慮,我們盡量避免任何警告、錯誤等明顯的程序缺陷。

例一:class.Chinese.php中以下代碼就會出錯“Undefined variable”:

 代碼如下 復制代碼

for ( $i=0; $i<strlen($hexdata); $i+=2 )
 $bindata.=chr(hexdec(substr($hexdata,$i,2)));

正確的寫法應該是:

 代碼如下 復制代碼

$bindata='';
for ( $i=0; $i<strlen($hexdata); $i+=2 )
 $bindata.=chr(hexdec(substr($hexdata,$i,2)));

例二:以下代碼也會出錯“Undefined variable”:

 代碼如下 復制代碼

$sl = "zh-CN";
$tl = "en";
function app_out($c,$gbk){
 $data = app_get_translate($c,$sl,$tl);
 $out = str_replace($c,$data,$c);
 return app_js_out($out,$gbk);
}

正確的寫法應該是:

 代碼如下 復制代碼

$sl = "zh-CN";
$tl = "en";
function app_out($c,$gbk){
 global $sl,$tl; //將此函數體內的這兩個變量定義為全局變量,以便使用開頭設定的值
 $data = app_get_translate($c,$sl,$tl);
 $out = str_replace($c,$data,$c);
 return app_js_out($out,$gbk);
}


本來php是不需要定義變量的,但是出現這種情況應該怎麼辦呢?

只要在C:WINDOWS找出php.ini的

  在php.ini中的302行 error_reporting = E_ALL

  修改成

  error_reporting = E_ALL & ~E_NOTICE再重啟apache2.2就行了

解決方法:修改php.ini

  將: error_reporting = E_ALL

修改為:error_reporting = E_ALL & ~E_NOTICE

  如果什麼錯誤都不想讓顯示,直接修改:

  display_errors = Off

  如果你沒有php.ini的修改權限,可在php頭部加入

  ini_set("error_reporting","E_ALL & ~E_NOTICE");

copyright © 萬盛學電腦網 all rights reserved