如果它们是相同的则什么都不做,如果它们不同则做底部并使它们相同。整个脚本处于循环中,但循环仅执行其他操作。就像它没有检查条件。我做错了什么?
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字符串。 Next loop如果var1没有改变,它将等于var2。所以它什么也没做,跳过
答案 0 :(得分:2)
我不明白这些循环的逻辑,但这是你应该这样做的:
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();
}
}
}
答案 1 :(得分:-1)
你的代码无法正常工作,因为循环执行的次数,$ var2将变为null,因此在$ var1&amp;和$ var1&amp; $ var2值相同。 所以请尝试以下代码。
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;
}
}
}