从foreach,for或while循环中打印值

用户名

我正在尝试为包含循环中收到的信息的表打印一行。这确实起作用,但是,我循环的数组大约有200个项目,并且挂起直到检查每个项目。有没有一种方法可以在每次迭代中打印行?我使用的示例代码:

        foreach ($array_check as $dns) {
        if (checkdnsrr($dns. '.',"A")) {
            $ret = "<tr> 
                <td><span class='badge badge-important'><i class='icon-remove icon-white'></i></span></td>
                <td>$dns</td>
                <td>-</td>
                <td>-</td>
                <td>-</td>
                <td>option</td>
                </tr><br/>";
            echo $ret;
        } else {
            $ret = "<tr>
                <td><span class='badge badge-success'><i class='icon-ok icon-white'></i></span></td>
                <td>$dns</td>
                <td>-</td>
                <td>-</td>
                <td>-</td>
                <td>option</td>
                </tr><br/>";
            echo $ret;
        }
        flush();
        ob_flush();
        usleep(1000000);
    }

感谢任何建议,我已经在互联网上搜索了很多关于此的内容,大多数我发现指向output_buffering的指向都需要关闭,而gzip也应关闭。

我都禁用了它们,但仍然挂起,直到显示任何输出为止。

提前致谢!

茄子

首先,对HTML进行一些更正:不需要在<br>之后加<tr>这实际上是错误的,您不应将任何其他东西<tr>放在桌子主体内。

关于您的问题,如果我做对了,您想在执行循环时逐行打印输出,对吗?
您尝试做的是非常依赖浏览器的更好的更改方法:通过AJAX请求数据,在您的php脚本中只需使用:

$output = array();
foreach ($array_check as $dns) {
    $output[] = checkdnsrr($dns. '.', "A");
}
header('Content-type: application/json');
echo json_encode($output);

然后,使用javascript在客户端解析HTML,添加您喜欢的时间,或者使用JQuery并添加一些精美的动画。

编辑:我忘记了checkdnsrr,修复它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章