这令我感到困惑,因为退出了一段时间。我想将我的数据与接下来的数据进行比较,以确定何时更改行。
<?php
$seasons; // laravel eloquent model from controller
$i = 0;
$max = count($seasons);
for($i; $i<$max; $i++):
$x = $i+1;
print_r($seasons[$i]); // ok
print_r($seasons[1]); // ok
print_r($seasons[0+1]); // ok
print_r($seasons[$x]); // undefined
print_r($seasons[$i+1]); // undefined
endfor;
?>
答案 0 :(得分:2)
<?php
$seasons; // laravel eloquent model from controller
$i = 0;
$max = count($seasons);
for($i; $i<$max; $i++):
$x = $i+1;
print_r($seasons[$i]); // ok
print_r($seasons[1]); // ok
print_r($seasons[0+1]); // ok
if(isset($seasons[$x])){
print_r($seasons[$x]); // undefined
}
endfor;
?>
顺便说一句,$ x和$ i + 1这两行都是一样的。因为$ x = $ i + 1;你又做了$ i + 1。
答案 1 :(得分:0)
我认为$ x可能超过最后一个循环的数组索引限制,所以我进行了检查以解决问题。如果其他人有更好的方法,请告诉我。
$i = 0;
$max = count($seasons);
for($i; $i<$max; $i++):
$x = $i+1;
if($x < $max):
if($seasons[$i]->month != $seasons[$x]->month)
// do something
endif
endif;
endfor;