当前位置:Gxlcms > PHP教程 > 用php5.2写的程序在切换到5.3之后出现notice错误???

用php5.2写的程序在切换到5.3之后出现notice错误???

时间:2021-07-01 10:21:17 帮助过:2人阅读

以前一直用的是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"; ?> ![图片描述][1] 我感觉不是代码的问题,还是因为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"; ?> ![图片描述][1] 我感觉不是代码的问题,还是因为php版本切换导致的,你说呢???

这跟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先判断

人气教程排行