PHP表外观
我编写了一些代码来用PHP显示html表。 它从文件中读取数据并检查值是否为真 问题是函数末尾的表外观很难看: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>
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分钟。