当一个函数($floor
& $lift
中通过,但我他们在这里以供演示),我在最后return
声明得到了Notice: Undefined offset: 20
使用下面的代码。不确定的偏移量()检查
最后return
是这个例子中的意思,但为什么我会得到Notice: Undefined offset: 20
?如果我没有弄错(我清楚地知道)array_key_exists()
函数应该防止这种情况发生?我也试过isset()
没有成功。
$floor = 20;
$lift = false;
$moving = array(
"no_lift" => array(
1 => 0,
2 => 13,
3 => 17,
4 => 20
),
"lift" => array(
1 => 0,
2 => 10,
3 => 10,
4 => 20
)
);
switch ($lift) {
case true:
return (isset($moving["lift"][ $floor ]) ? $moving["lift"][ $floor ] : $moving["lift"][ end($moving["lift"]) ]);
break;
case false:
return (array_key_exists($floor, $moving["no_lift"]) ? $moving["no_lift"][ $floor ] : $moving["no_lift"][ end($moving["no_lift"]) ]);
break;
}
'端($移动[ “no_lift”])'将'20'。哪些不存在。 –
您正试图通过键访问数组,但实际上使用的是这些值! – Stuart
也许你正在尝试使用array_key_exists来搜索值。你需要使用array_search来代替。 –