php - 数组中未定义的偏移量 - 但我知道它在那里
问题描述
我有一个带有键和值的数组(或关联数组)。然后,当尝试读取数组中的一个键时,我收到“未定义的偏移量”通知。
我有两个例子。一个是“爆炸”像“AAA|BBB|CCC”这样的字符串,|
用作分隔符,然后尝试读取位置 1 处的结果数组。
var_dump()
正确显示具有正确值的偏移量 0 到 2 的数组。但我仍然收到通知。
另一个例子是我得到一个数组(来自 AJAX 调用,我对其进行 json_decode 等),然后我输入了以下代码:
foreach (array_keys($myDecodedArray) as $k) {
$value = $myDecodedArray[$k];
someOtherCode();
}
我在尝试阅读时出现了该死的通知$myDecodedArray[$k]
,尽管 php 本身刚刚告诉我密钥存在!
所以,我解决了最后一个案例
foreach ($myDecodedArray as $k => $value) {
someOtherCode();
}
但是,这仍然非常烦人,对我来说毫无意义。
你们中有人遇到过这个问题吗?你有什么可能导致这种情况的信息吗?
[编辑] Rahul Meshram 的建议(我在评论中赞成)解决了我的第二个问题。但是,第一种情况仍然会发生(将字符串分解为数组,然后尝试通过其数字键访问该数组的值)。键是数字的(gettype 返回“整数”,该键上的 var_dump 也显示一个整数,具有正确的值),但尝试访问 $explodedArray[1] 仍会导致显示该通知,尽管 $explodedArray 的键为 0, 1 和 2,以及关联的值。
解决方案
推荐阅读
- paypal - Paypal PDT 不再返回“自定义”值(回归?)
- php - PHP - 多个函数返回TCPDF变量
- javascript - 客户端 javascript 文件在刷新时不会在某些浏览器选项卡中更新,但在新选项卡中很好
- mysql - InnoDB 监控输出不清楚,外键约束失败
- python - Tensorflow 在 compute_gradients 挂起
- c# - 找不到 MLContext
- arrays - 使用索引向量对数组进行子集
- selenium - 我必须在 Appium 和 Selenium 中使用所需的功能吗?
- c# - .FirstOrDefault() 在非空 IQueryable 上返回 null
- powershell - 如何使用 rundeck 控制窗口 AD