我有一些偶尔返回的代码和“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)。 –