我有一些偶爾返回的代碼和「Undefined Offset 8」。爲什麼我偶爾會得到「Undefined Offset 8?」
我搜索了,我找不到「Undefined Offset」定義,使它更神祕。
下面的代碼:
while($lowest_plays !== $plays[$x]){
$x = rand(0,count($plays));
}
偏移發生在while循環,這似乎是這種特定的偏移通常發生。 $ lowest_plays和$ plays變量總是正常的,而當「Undefined Offset」發生時我看不到任何模式。
變量$x
是在0
和$plays-1
之間的隨機數。
以下是其中的「未定義偏移8」告示的值:
Plays: Array ([0] => 147 [1] => 147 [2] => 146 [3] => 147 [4] => 147 [5] => 146 [6] => 147 [7] => 146)
Lowest Plays: 146
Random variable ($): 1
最後一個數組的索引是'計數($陣列) - 1'。您在0和數組長度之間隨機化。但最後的指數<長度。 – mario
請重新閱讀['rand()']的手冊頁(http://sg3.php.net/manual/en/function.rand.php#refsect1-function.rand-returnvalues)。 –