PHP表外观

PHP表外观,php,html-table,Php,Html Table,我编写了一些代码来用PHP显示html表。 它从文件中读取数据并检查值是否为真 问题是函数末尾的表外观很难看: True False blue Red Red blue 我希望以如下方式显示该表: True False blue Red blue Red 它还显示函数完成前的结果c.q flush(); 代码如下: ?> <table> <tr> <th>True</th>

我编写了一些代码来用PHP显示html表。 它从文件中读取数据并检查值是否为真

问题是函数末尾的表外观很难看:

True   False
blue
       Red
       Red
blue
我希望以如下方式显示该表:

True   False
blue   Red
blue   Red
它还显示函数完成前的结果c.q flush(); 代码如下:

?>
<table>
    <tr>
        <th>True</th>
        <th>False</th>
    </tr>
    <?php foreach ($trimmed_array as $value) { ?>
        <tr>
            <?php if (check($value) == 0) { ?>
                <td><?php print $value ?></td>
                <td> </td>
            <?php   
            } else { ?>
                <td> </td>
                <td><?php print $value ?></td>
            <?php
            }
    sleep(1);
    ob_flush();
    flush();
    } ?>
</table>
?>
真的
假的
我意识到这段代码像第一个示例一样输出表,但我似乎不知道如何更改它以适合第二个示例

$true=array();
$true = array();
$false = array();

foreach ($trimmed_array as $value) {
    if (check($value) == 0) {
        $true[] = $value;
    } else {
        $false[] = $value;
    }
}

for ($i = 0; $i < max(count($true), count($false)); $i++) {
    echo '<tr>
        <td>' . (isset($true[$i]) ? $true[$i] : '') . '</td>
        <td>' . (isset($false[$i]) ? $false[$i] : '') . '</td>
    </tr>';
}
$false=array(); foreach($value形式的数组){ 如果(检查($value)==0){ $true[]=$value; }否则{ $false[]=$value; } } 对于($i=0;$i
$true=array();
$false=array();
foreach($value形式的数组){
如果(检查($value)==0){
$true[]=$value;
}否则{
$false[]=$value;
}
}
对于($i=0;$i
您的代码为数组中的每个项目创建一个表行,因此每行始终有一个空白列

在要显示的“表”中,每行中的项目彼此不相关

实际上,您在这里创建了两个列表,而不是一个表

我会这样做

<?php

$all_values = array('true' => array(), 'false' = array());
foreach($trimmed_array as $value){
  if (check($value) == 0){
    $all_values['true'][] = $value;
  }else{
    $all_values['false'][] = $value;
  }
}

foreach($all_values as $name => $values){
?>

<ul class="<?php print $name;?>">
  <?php 
  foreach($values as $value){
  ?>
    <li><?php print $value; ?></li>
  <?php
  }
  ?>
</ul>

<?php 
}
?>


代码为数组中的每个项创建一个表行,因此每行始终有一个空白列

在要显示的“表”中,每行中的项目彼此不相关

实际上,您在这里创建了两个列表,而不是一个表

我会这样做

<?php

$all_values = array('true' => array(), 'false' = array());
foreach($trimmed_array as $value){
  if (check($value) == 0){
    $all_values['true'][] = $value;
  }else{
    $all_values['false'][] = $value;
  }
}

foreach($all_values as $name => $values){
?>

<ul class="<?php print $name;?>">
  <?php 
  foreach($values as $value){
  ?>
    <li><?php print $value; ?></li>
  <?php
  }
  ?>
</ul>

<?php 
}
?>


你应该添加一个
标签。你应该添加一个
标签。我正要发布这样的东西。该死的!:)我跑得更快。。下一次:)不太喜欢
continue
语句,不过。。。最好只使用
else
以提高可读性,尤其是对于经验较少的用户coders@CodeGodie为什么要删除数组分配?@MateiMihai,因为你不需要它们。我正要发布类似的内容。该死的!:)我跑得更快。。下一次:)不太喜欢
continue
语句,不过。。。最好只使用
else
以提高可读性,尤其是对于经验较少的用户coders@CodeGodie为什么删除了数组分配?@MateiMihai,因为您不需要它们。这看起来很不错,但这是一个可能需要几个小时的函数(简化示例),我还希望在函数结束前显示输出。你有什么建议我可以在函数完成之前实现刷新来打印输出吗?我最好这样做。表很烂。我会让Javascript做HTML呈现。这会简单得多。您可以像在代码中一样,在
foreach($value as$value){
循环中放置一个ob_flush()/flush(),但是obv作为一个列表首先呈现,如果您确实有巨大的列表,那么您可能需要等待一段时间才能获得第二个。您希望列表有多大??函数检查();->检查域名是否可用,这大约需要2-4秒。如果列表中包含(例如)1000个域,执行大约需要40分钟。这看起来很不错,但这是一个可能需要几个小时的函数(简化示例)我还希望在函数结束前显示输出。你有什么建议吗?我可以在函数结束前在哪里实现刷新来打印输出?我会选择这个。表很糟糕。我会让Javascript进行HTML渲染。这会更容易。你可以在
foreach中放置ob_flush()/flush()($values as$value){
在代码中循环,但obv作为一个列表首先呈现,如果您有巨大的列表,那么您可能需要等待一段时间才能看到第二个列表。您希望列表有多大??函数check();->检查域名是否可用,这需要大约2-4秒。如果列表中填充了(例如)1000个域,执行大约需要40分钟。