1
4

4 に答える 4

3

インデックス1で始まり$varが0に割り当てられている2番目の配列のprint_rセクションを参照してください。ここで、0番目のインデックスにアクセスしようとしています。そのため、このエラーが発生します。

使用してみてくださいforeach

foreach($ranksection as $key => $value ) {
  if ($ranksection[$key] !=  null) {
    $sequence[$seqnum] = $ranksection[$key];
    $seqnum++;
  }
}
于 2012-08-10T04:57:42.740 に答える
0

forループの条件としてこれを行います。

for ($var = 0; $var <= $sortvar - 1; $var++) {

-1配列は0から始まり、配列の長さから1を引いた長さになるため、これは重要です。

于 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 に答える
0

次の理由により、配列の終わりを超えています。

$sortvar = count($ranksection); // This is 4

配列インデックスは0から始まりますが、countは、0ではなく1が最初の項目である数値を返します。これを修正するには、次のようにします。

$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 に答える