用php5.2写的程序在切换到5.3之后出现notice错误???
高洛峰
高洛峰 2017-04-10 17:28:47
[PHP讨论组]

以前一直用的是php5.2,但是最近发现版本略低,就切换成了php5.3(我用的是phpstudy组合包),但是在切换后,以前用php5.2写的程序就会出现notice提示,虽然不影响运行出正确结果。

图片描述

我以后应该用那种版本的php??我还是喜欢用组合包之类的

这是报错页面的代码:

";
    // echo "
编程语言:$t33"; // print_r($t); echo "编程语言:"; // 方法1:遍历数组,到那时最后的逗号无法避免 // foreach ($t as $key => $value) { // echo $value . ","; // } // 方法2:使用for循环 $len=count($tt);//获得数组的长度 $str=""; for ($i=0; $i<$len ; $i++) { if ($i==$len-1) { // $str.=$tt[$i] . "。"; $str=$str . $tt[$i] ."。。"; } else{ $str.=$tt[$i] .","; } } echo $str; echo "
账号:$id"; echo "
密码:$pwd"; echo "
介绍:$wb"; echo "
汽车:$car"; echo "
院系:$yx"; ?>

form表单练习

你喜欢那种语言

python javascript php swift

login in

Account: Password:
![图片描述][1] 我感觉不是代码的问题,还是因为php版本切换导致的,你说呢???
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(4)
天蓬老师

这跟php版本没太大关系,而是你应该养成一个良好的编程习惯,不确定是否有值时要判断有才输出.

否则未关闭错误提示直接路径全部爆出来了

你应该改成:

if(isset($user['yx'])){
    echo $user['yx'];
}

//或者

if(!empty($user['yx'])){
    echo $user['yx'];
}

另外建议直接使用最新的稳定版本,截止到[2016/04/30]的LTS版本:5.6.21

阿神

跟版本没关系,变量没定义就使用,当然要报错!请一定注意,在使用非预定义变量的时候一定要先定义才能使用!

另外关于版本问题,根据市场份额和具体项目决定
目前建议在生产环境使用5.6
当然5.3用的最多 5.4其次
7速度最快

高洛峰

$tt没定义就用。而且这种没定义和版本无关,本来就会报错,只是php.ini的错误设置级别不同造成你以为5.2的就不报错

伊谢尔伦

用isset先判断

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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