欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP报错 Notice: Undefined index和Notice:Undefined offset:解决方法

程序员文章站 2022-06-27 21:34:24
问题一:从上一个界面跳转过来,出现如下图报错: 报错处代码是:$sample=$_GET["sample"];检查代码发现都没有错误,并报的错误是notice,而不是warming。 查阅资料发现PHP 本身不需要事先声明变量即可直接使用,但是对未声明变量会有提示。 我们可以在网站正式开始运行时,可 ......

问题一:从上一个界面跳转过来,出现如下图报错:

  PHP报错 Notice: Undefined index和Notice:Undefined offset:解决方法

  报错处代码是:$sample=$_get["sample"];检查代码发现都没有错误,并报的错误是notice,而不是warming。

  查阅资料发现php 本身不需要事先声明变量即可直接使用,但是对未声明变量会有提示。

  我们可以在网站正式开始运行时,可以把提示关了的。

  方法一、将php.ini文件中的error_reporting = e_all改写成error_reporting = e_all &  ~e_notice(该方法关闭了php的提示功能)

  方法二、在报错的php文件中的<?php     ?>开始处添加一行error_reporting(0)(该方法只对这一个界面起作用)

问题二、程序能够正常运行下去,界面能够显示该有的功能,但是会出现提示notice:undefined offset: 11 in ;如下图所示:

  PHP报错 Notice: Undefined index和Notice:Undefined offset:解决方法

     查阅资料发现问题很常出现在数组中的,大家采用的方法都是抑制显示的方法。(竟问题一所用的两种方法)

   问题看上去是很好的解决了,整个文件中的代码语法都是正确的。

   结合资料,发现11就是我们要读取数组下标的值,而数组下标是从0开始,我们要读取11行,而数组下标只到10。

   提示代码处如下图:

     PHP报错 Notice: Undefined index和Notice:Undefined offset:解决方法

    解决方法:既然 11是数组取值范围的最大值,我就换一种写法,来解决这个问题。

     PHP报错 Notice: Undefined index和Notice:Undefined offset:解决方法

      直接用for循环代替,其不让$i取到11。