问问题
131 次
4 回答
3
请参阅第二个数组的 print_r 部分,它以索引 1 开头,您的 $var 分配给 0。现在,您正在尝试访问第 0 个索引。这就是您收到此错误的原因。
尝试使用foreach
foreach($ranksection as $key => $value ) {
if ($ranksection[$key] != null) {
$sequence[$seqnum] = $ranksection[$key];
$seqnum++;
}
}
于 2012-08-10T04:57:42.740 回答
0
您将超出数组的末尾,因为:
$sortvar = count($ranksection); // This is 4
数组索引从 0 开始,但 count 返回数字,其中 1 是第一项,而不是 0。这样做可以修复它:
$sortvar = count($ranksection) - 1;
或将 <= 更改为 <
for ($var = 0; $var < $sortvar; $var++) {
if ($ranksection[$var] != null) {
$sequence[$seqnum] = $ranksection[$var];
$seqnum++;
}
}
于 2012-08-10T04:56:37.717 回答
0
将此作为for
循环的条件:
for ($var = 0; $var <= $sortvar - 1; $var++) {
这-1
很重要,因为数组从 0 开始,然后是数组的长度减一。
于 2012-08-10T04:53:57.967 回答
0
你应该count()-1
在你的for
循环中使用:
$sortvar = count($ranksection) -1;
$seqnum = 0;
for ($var = 0; $var <= $sortvar; $var++) {
或者,使用小于(不小于等于)作为运算符:
for ($var = 0; $var < $sortvar; $var++) {
于 2012-08-10T04:54:19.573 回答