具有2个条件的while循环中的未定义偏移量

时间:2015-08-06 08:20:07

标签: php arrays if-statement while-loop

我有一个这样的数组:

array (size=3)
 0 => 
    array (size=2)
      'score' => float 17.891873624039
 1 => 
    array (size=2)
      'score' => float 17.883449353824
 2 => 
    array (size=2)
      'score' => float 4.702030124427

并有一个像这样的while循环:

 $offset=1;
 while($scoreList[$rank+$offset]!=NULL && $scoreList[$rank]["score"]==$scoreList[$rank+$offset]["score"])
 {
    //do something
    $offset++;
 }

我需要检查数组中的下一个索引是否存在,同时检查它是否等于当前对象但是我得到了

  

未定义的偏移量:4

我不能将第二个条件放在if语句中,因为如果这两个索引相等则应该增加offset,所以如果我把它放在if子句中,它就会落入无限循环中。

1 个答案:

答案 0 :(得分:0)

正确地说这两个可能有用:)

isset(); - php.net

if(isset($value[0])){
  //DO SOMETHING IF VALUE IS SET
}

if(!isset($value[0])){
  //DO SOMETHING IF VALUE ISN'T SET
}

empty(); - php.net

if(empty($value[0])){
  //DO SOMETHING IF VALUE / VARIABLE DOESN'T EXIST
}

if(!empty($value[0])){
  //DO SOMETHING IF VALUE / VARIABLE DOES EXIST AND ISN'T EMPTY
}