首页 > php教程 > php手册 > 正文

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

php中文网
发布: 2016-05-25 16:45:46
原创
2626人浏览过

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

立即学习PHP免费学习笔记(深入)”;

$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");


教程链接:

随意转载~但请保留教程地址★

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号