前面不成立,后面就不运行了,解决这个问题很简单如:
这样就很好的解决这个问题了。
来自:http://www.111cn.net/phper/31/46438.htm
Notice: Undefined offset 的解决方法,
在PHP 5.3.5中出现Undefined offset: 0的解决方法:
http://blog.csdn.net/jallin2001/article/details/6644194
附带:
解决phpmyadmin安装过程中Notice: Undefined offset: 以及Function eregi() is deprecated 的报错信息:
http://jackxiang.com/post/7028/
解决办法:在php.ini里面设置error_reporting = E_ALL & ~E_NOTICE,error_reporting 不能有分号,有分号表示不使用这个设置。如果有多个error_reporting,以最后一个为准。 操作后,问题解决。
; error_reporting
; Default Value: E_ALL & ~E_NOTICE
; Development Value: E_ALL | E_STRICT
; Production Value: E_ALL & ~E_DEPRECATED
; E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standards warnings.)
; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices)
; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors)
; E_ALL | E_STRICT (Show all errors, warnings and notices including coding standards.)
这问题很常出现在数组中的,程序是能正确地运行下去,但是在屏幕上总会出现这样的提示:Notice: Undefined offset: ….. 网上普遍是采用抑制其显示的方法,即更改php.ini文件中error_repoting的参数为”EALL & Notice “,这样屏幕就能正常显示了.
问题是解决了,但是总想不透offset:接下去的数字(如 Notice: Undefined offset: 4 ….)是什么意思.还有,句子里的语法明明是正确的,为什么会出现警告.冷静地思考了好几遍并尝试了每种可能
终于找到了答案.offset:接下去的数字是出错的数组下标,一般是超出了数组的取值范围,如定义了数组$A[]有10个元数,如果出现了$A[10]就会出现错误(Notice: Undefined offset: 10 ….),因为数组的下标是从0开始的,所以这个数组的下标就只能是0~9.因此在出现这类问题时,不要急于用抑制显示的方法(更简单的可以在当前文件的最前面加上一句”error_reporting(填offset:接下去的那个数字);,一定要注意你所用的数组下标,仔细思考一下,问题一定会很快得到解决的 !发也有可能是unset数组后再尝试读取其内容,php手册中有:
$array[1] ='www.111cn.net';
echo $array[0] ;
输入结果是
Notice: Undefined offset: 1 in D:wwwrootwraskseo404.php on line 5 下面我们来看解决办法
解决这个问题很简单如
echo isset($array[0])?$array[0]:'数组未定义';
这样就很好的解决这个问题了。
来自:http://www.111cn.net/phper/31/46438.htm
实践如下:
---------- 调试PHP ----------
数组未定义
输出完成 (耗时 4 秒) - 正常终止
这样就很好的解决这个问题了。
来自:http://www.111cn.net/phper/31/46438.htm
Notice: Undefined offset 的解决方法,
在PHP 5.3.5中出现Undefined offset: 0的解决方法:
http://blog.csdn.net/jallin2001/article/details/6644194
附带:
解决phpmyadmin安装过程中Notice: Undefined offset: 以及Function eregi() is deprecated 的报错信息:
http://jackxiang.com/post/7028/
解决办法:在php.ini里面设置error_reporting = E_ALL & ~E_NOTICE,error_reporting 不能有分号,有分号表示不使用这个设置。如果有多个error_reporting,以最后一个为准。 操作后,问题解决。
; error_reporting
; Default Value: E_ALL & ~E_NOTICE
; Development Value: E_ALL | E_STRICT
; Production Value: E_ALL & ~E_DEPRECATED
; E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standards warnings.)
; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices)
; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors)
; E_ALL | E_STRICT (Show all errors, warnings and notices including coding standards.)
这问题很常出现在数组中的,程序是能正确地运行下去,但是在屏幕上总会出现这样的提示:Notice: Undefined offset: ….. 网上普遍是采用抑制其显示的方法,即更改php.ini文件中error_repoting的参数为”EALL & Notice “,这样屏幕就能正常显示了.
问题是解决了,但是总想不透offset:接下去的数字(如 Notice: Undefined offset: 4 ….)是什么意思.还有,句子里的语法明明是正确的,为什么会出现警告.冷静地思考了好几遍并尝试了每种可能
终于找到了答案.offset:接下去的数字是出错的数组下标,一般是超出了数组的取值范围,如定义了数组$A[]有10个元数,如果出现了$A[10]就会出现错误(Notice: Undefined offset: 10 ….),因为数组的下标是从0开始的,所以这个数组的下标就只能是0~9.因此在出现这类问题时,不要急于用抑制显示的方法(更简单的可以在当前文件的最前面加上一句”error_reporting(填offset:接下去的那个数字);,一定要注意你所用的数组下标,仔细思考一下,问题一定会很快得到解决的 !发也有可能是unset数组后再尝试读取其内容,php手册中有:
$array[1] ='www.111cn.net';
echo $array[0] ;
输入结果是
Notice: Undefined offset: 1 in D:wwwrootwraskseo404.php on line 5 下面我们来看解决办法
解决这个问题很简单如
echo isset($array[0])?$array[0]:'数组未定义';
这样就很好的解决这个问题了。
来自:http://www.111cn.net/phper/31/46438.htm
实践如下:
---------- 调试PHP ----------
数组未定义
输出完成 (耗时 4 秒) - 正常终止
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/7268/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2016-7-15 15:05
评论列表