加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

处理关于PHP Undefined variable 变量未定义

发布时间:2022-01-20 09:41:13 所属栏目:PHP教程 来源:互联网
导读:php中变量可以不定义的但是我们如果不对错误进行一些处理在使用未定义的变量时会提示Undefined variable错误了,下面我给大家举几个实例. PHP错误提示Undefined variable:变量未定义,如果你在php.ini设置中屏蔽了Notice这个等级的提示那么他就不会显示任何
  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就行了
 
  如果什么错误都不想让显示,直接修改:display_errors = Off
 
  如果你没有php.ini的修改权限,可在php头部加入
 
  ini_set("error_reporting","E_ALL & ~E_NOTICE");

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读