如果它们相同,则不执行任何操作,如果它们不同,则执行底部并使它们相同。整个脚本处于循环中,但循环只执行其他操作。就像它没有检查条件一样。我做错了什么?
for ($int = 0; $int < 10, $int+1){
$array = $getarray();
foreach ($array as $array){
$var1 = $array->id;
$var2 = null;
if ($var1 == $var2){
echo ('skip');
}else{
echo '<br>'.$var1.'<br>';
ob_flush();
$var2 = $var1;
}
}
}
最初 var2 为 null,var1 获取字符串值。所以它执行 else 并且 var2 获取 var1 字符串。下一个循环 如果 var1 没有更改,它将等于 var2。所以它什么都不做,跳过
我不
明白这些循环的逻辑,但这是你应该这样做的:
for ($int = 0; $int < 10, $int++) {
/*
* I suppose getarray() is a function.
* If you have a variable $getarray containing the name of another function
* then you should change getarray() to $getarray()
*/
foreach (getarray() as $array) {
if (is_null($array->id)) {
echo ('skip');
} else {
echo "<br />{$array->id}<br />";
ob_flush();
}
}
}
你的代码不能正常工作,因为你的循环将执行多少次,你的$var 2将变为空,所以在$var 1和$var 2值相同的点上,你不会到达。因此,请尝试以下代码。
for ($int = 0; $int = 10; $int+1){
$array = $getarray();
$var2 = null;
foreach ($array as $array){
$var1 = $array->id;
if ($var1 == var2){
echo ('skip');
}else{
echo '<br>'.$var1.'<br>';
ob_flush();
$var2 = $var1;
}
}
}