发布网友 发布时间:2小时前
共4个回答
热心网友 时间:1小时前
我也出现了这个原因,也以为是取不到键名对应的键值,原因为是因为不存在键名,后来多次尝试发现只报错Undefined index: in热心网友 时间:1小时前
今天刚遇到这个问题,意思是它觉得那个数组是个字符串,而字符串的的索引必需是 int 类型,解决方法是加个判断 is_array($tmp);热心网友 时间:1小时前
你添加的东西包含非法字符串热心网友 时间:1小时前
不是你的代码包含特殊字符,是你的数据有问题。
出现这种情况是你使用了数组,但是对应的键值不存在,那么你非要从数组里面取一个不存在的数据就会出现上面的情况。
如:
$arr = array();
这个时候你只有一个空数组,但是你非要:
$name = $arr['name'];
这个时候就会出现你遇到的这种情况。
造成这种情况的原因是:
你的数据源没有对应的数据;
你的代码逻辑不严。
你检查下你的数据源,或者改下代码,提供一些默认值就可以了,以上面的例子为例,如:
$name = isset($arr['name']) ? $arr['name'] : 'smith';
这是一些很基本的错误,应该很容易发现的。