Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP if语句和ob_flush_Php - Fatal编程技术网

PHP if语句和ob_flush

PHP if语句和ob_flush,php,Php,如果他们是相同的,什么也不做,如果他们是不同的,做底部,使他们相同。整个脚本在一个循环中,但循环只执行其他操作。就像它没有检查条件一样。我做错了什么 for ($int = 0; $int < 10, $int+1){ $array = $getarray(); foreach ($array as $array){ $var1 = $array->id; $var2 = null; if ($var1 ==

如果他们是相同的,什么也不做,如果他们是不同的,做底部,使他们相同。整个脚本在一个循环中,但循环只执行其他操作。就像它没有检查条件一样。我做错了什么

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;
        }
}
}
($int=0;$int<10,$int+1)的
{
$array=$getarray();
foreach($array作为$array){
$var1=$array->id;
$var2=null;
如果($var1==$var2){
回声(‘跳过’);
}否则{
回显“
”.$var1.
”; ob_flush(); $var2=$var1; } } }
最初,var2为null,var1获取字符串值。因此它执行else,var2获得var1字符串。
下一个循环如果var1没有改变,它将等于var2。因此,它什么也不做,并且跳过您的代码不能正常工作,因为循环执行多少次,$var2将变为null,因此,在$var1和$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;
        }
    }
}
($int=0;$int=10;$int+1)的
{
$array=$getarray();
$var2=null;
foreach($array作为$array){
$var1=$array->id;
如果($var1==var2){
回声(‘跳过’);
}否则{
回显“
”.$var1.
”; ob_flush(); $var2=$var1; } } }
我不理解这些循环的逻辑,但您应该这样做:

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();
        }
    }
}
($int=0;$int<10,$int++)的
{
/*
*我想getarray()是一个函数。
*如果变量$getarray包含另一个函数的名称
*然后您应该将getarray()更改为$getarray()
*/
foreach(getarray()作为$array){
if(为空($array->id)){
回声(‘跳过’);
}否则{
echo“
{$array->id}
”; ob_flush(); } } }
给出了完全相同的结果您的循环和两个变量值是什么?@biligjames请检查代码。当您在foreach循环中写入$var2时,您的$va1和$var2将永远不会变为原来的$var2,每次都会用'null'值覆盖。啊,是的,这就是问题所在。我应该在哪里申报$var2,这样它就不会overwriten@biligjames请检查这个答案。在这里,我已经编写了您想要的代码。请检查一下。谢谢。什么值包含$var1和$var2?什么循环?代码中没有循环。错误的值可能为$var1和$var2。请指定$var1和$var2值,以便我们向您提供建议。将您的所有代码放在@biligjamesy您在这段代码中有很多错误$var1==var2是不正确的。您应该编写$var1==$var2。