當一個函數($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來代替。 –