php的未定义索引如何解决
php  /  管理员 发布于 7年前   178
通常出现未定义的索引问题是由于数组没有这个值造成的,数组分为关联数组和索引数组,索引数组是数字下标;关联数组是键值下标。
$POST['id']之所以报未定义索引是因为$POST这个数组里没有包含下标键值为id的值。 (推荐学习:PHP视频教程)
解决办法:
判断数组中是否包含下标键值为id的值,如果没有,则返回错误信息,如何判断呢,最简单的方法就是用函数isset来判断,如isset($POST['id']),存在则返回true,反之则为false;
三元判断法,不存在给一个默认的数值, 如 $POST['id'] = isset($POST['id'])?$POST['id']:"1";
当您(或PHP)尝试访问数组的未定义索引时,会出现此通知。
处理问题的方法:
在访问索引之前检查索引是否存在。为此您可以使用isset()或array_key_exists():
//isset()$value = isset($array['my_index']) ? $array['my_index'] : '';//array_key_exists()$value = array_key_exists('my_index', $array) ? $array['my_index'] : '';
语言构造list()在尝试访问不存在的数组索引时可能会生成此内容:
list($a, $b) = array(0 => 'a');//orlist($one, $two) = explode(',', 'test string');
两个变量用于访问两个数组元素,但是只有一个数组元素index 0,因此这将生成:
注意:未定义的偏移量:1
$_POST/ $_GET/ $_SESSION可变
使用时$_POST,上面的注意事项经常出现,$_GET或$_SESSION。
对于您而言$_POST,$_GET您只需在使用之前检查索引是否存在。因为$_SESSION您必须确保以会话开始session_start()并且索引也存在。
以上就是php的未定义索引如何解决的详细内容,更多请关注其它相关文章!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号