数组偏移在比较时导致问题

时间:2014-02-14 14:31:29

标签: php arrays offset

我知道为什么我得到这个非法的偏移,这是因为我正在比较未设置的数组的部分。

我想知道是否有任何方法可以避免这种情况,目前我只是隐藏错误并且工作正常(使用error_reporting(0);)。

我不认为隐藏错误是非常好的做法,这就是为什么我问=]

`

for ($i=0; $i < $len; $i++){

  if($book[$i]["bookedFor"]!=$book[$i+1]["bookedFor"]){    //ILLEGAL OFFSET HERE

    echo "<tr>";
    echo "<td>" . $book[$i]["roomName"] . "</td>";
    echo "<td>" . $book[$i]['bookedFor'] . "</td>";
    echo "<td>";
    for ($j=0; $j < $len; $j++){ 

        if($book[$i]["bookedFor"]==$book[$j]["bookedFor"]){

            if(!empty($book[$j]['resourceName'])){

                if($book[$i]["bookedFor"]!=$book[$j+1]["bookedFor"]){    //ILLEGAL OFFSET HERE

                    echo $book[$j]['resourceName'];

                } else {

                    echo $book[$j]['resourceName'] . ", ";
                }
            }
        }
    }
    echo "</td>";
    echo "</tr>";
  }
}

`

非常感谢

1 个答案:

答案 0 :(得分:0)

if (!array_key_exists($i+1, $book)) {
    $book[$i+1] = "Closed";
}