时间: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先判断