用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

解决关于PHP“Undefined variable”变量未定义

时间:2015-01-23  来源:西部数据  作者:西部数据

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”:

  1. $sl = "zh-CN"
  2. $tl = "en"
  3. function app_out($c,$gbk){ 
  4.  $data = app_get_translate($c,$sl,$tl); 
  5.  $out = str_replace($c,$data,$c); 
  6.  return app_js_out($out,$gbk); 

正确的写法应该是:

  1. $sl = "zh-CN"
  2. $tl = "en"
  3. function app_out($c,$gbk){ 
  4.  global $sl,$tl//将此函数体内的这两个变量定义为全局变量,以便使用开头设定的值 
  5.  $data = app_get_translate($c,$sl,$tl); 
  6.  $out = str_replace($c,$data,$c); 
  7.  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");

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门