php-未定义的偏移量:使用inval()转换的索引时出现0错误

php-未定义的偏移量:使用inval()转换的索引时出现0错误,php,arrays,Php,Arrays,我试图访问数组的值,但得到了非常奇怪的行为 这不起作用并引发异常未定义的偏移量:0: $k = $sp["id"]; $k = intval($k); //$k prints out as int(117) here $ship->name = $vessels[$k]; 这项工作: $k = 117; $ship->name = $vessels[$k]; var\u dump($sp[“id”])给我string(3)“117” 谁能解释一下这是怎么可能的吗?试试看 (in

我试图访问数组的值,但得到了非常奇怪的行为

这不起作用并引发异常
未定义的偏移量:0

$k = $sp["id"]; 
$k = intval($k); //$k prints out as int(117) here
$ship->name = $vessels[$k];
这项工作:

$k = 117;
$ship->name = $vessels[$k];
var\u dump($sp[“id”])
给我
string(3)“117”

谁能解释一下这是怎么可能的吗?

试试看

(int)$sp["id"]

它也更快:)

什么是
$sp['id']
的值?哪一行发出通知?哪一行是错误?最后一行,$ship->name=$vessers[$k];请在最后一行前插入
var\u dump($sp['id'])
,然后发布结果。