目前,每个td ../ td只打印1行,这使得源代码非常难以阅读,我可以在新行上打印每个td ../ td元素以使其更具可读性。
感谢您的回复。我尝试了休息但它在屏幕上打印,需要把它放在这里,但在哪里?
$entries[$i] = '<td>'.$id[$i] .'</td>';
$entries[$i] .= '<td>'.$username[$i].'</td>';
$entries[$i] .= '<td>'.$first_name[$i].'</td>';
进一步修改:
相关的HTML
<!-- Main hero unit for a primary marketing message or call to action -->
<div class="hero-unit">
<div class="row">
<table class="table">
<thead>
<tr>
<th>#</th>
<th>First Name</th>
<th>Last Name</th>
<th>Username</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<td>2</td>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<td>3</td>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
<table class="table table-bordered">
<thead>
<tr>
<th>ID</th>
<th>Username</th>
<th>First Name</th>
<th>Last Name</th>
<th>Email Address</th>
<th>Country</th>
<th>Referrer</th>
</tr>
</thead>
<tbody>
<tr>
<?php
if (isset($content) && !empty($content) && is_array($content)) {//2
$i = 0;
$entries = array();
while(array_key_exists($i, $content)) {//1
$entries[$i] = "\n" .'<td>'.$id[$i] .'</td>';
$entries[$i] .= "\n" .'<td>'.$username[$i].'</td>';
$entries[$i] .= "\n" .'<td>'.$first_name[$i].'</td>';
$entries[$i] .= "\n" .'<td>'.$last_name[$i].'</td>';
$entries[$i] .= "\n" .'<td>'.$email_address[$i].'</td>';
$entries[$i] .= "\n" .'<td>'.$country[$i].'</td>';
$entries[$i] .= "\n" .'<td>'.$where_about[$i].'</td>';
//$entries[$i] .= '<td>'.$sample[$i].'</td>';
echo $entries[$i];
$i++;
}//1
}//2
?>
</tr>
</tbody>
</table>
答案 0 :(得分:4)
concat "\n"
到声明的前面
修改强>
$entries[$i] = "\n" . '<td>'.$id[$i] .'</td>';
$entries[$i] .= "\n" . '<td>'.$username[$i].'</td>';
$entries[$i] .= "\n" . '<td>'.$first_name[$i].'</td>';
答案 1 :(得分:2)
一个巧妙的技巧是使用换行符定义一个常量:
define('NL', "\r\n");
然后我们只是断言,不要担心使用单个我们的双qoutes用法:
$entries[$i] = '<td>'.$id[$i] .'</td>' . NL .
'<td>'.$username[$i].'</td>' . NL .
'<td>'.$first_name[$i].'</td>' . NL;
同样的技巧可以应用于标签:
define('TAB', "\t");
所以我们可以像这样做一些激进的事情,例如:
$entries[$i] = '<tr>' . NL .
TAB . '<td>' . $id[$i] . '</td>' . NL .
TAB . '<td>' . $username[$i] . '</td>' . NL .
TAB . '<td>' . $first_name[$i] . '</td>' . NL .
'</tr>' . NL;
空间取决于个人对课程的偏好,但是当你保持一致时,它甚至可以保持你的代码可读!
在您的情况下,通过遍历所有字段的foreach循环遍历这些列(<td>
),您可以使代码更加清晰。
$entries[$i] = '<tr>' . NL;
foreach(array('id', 'username', 'first_name') as $key) {
$entries[$i] = TAB . '<td>' . ${$key}[$i] . '</td>' . NL;
}
$entries[$i] = '</tr>' . NL;
现在告诉我这不酷!
好像你的代码只是缺乏在每个列中添加每个列的智能(tr
),这里是你的相关PHP代码,修复和建议添加,它应该工作,但我无法测试它
<?php
define('NL', "\r\n");
define('TAB', "\t");
if (isset($content) && !empty($content) && is_array($content)) {
$i = 0;
$entries = array();
$fields = array('id', 'username', 'first_name', 'last_name', 'email_address', 'country', 'where_about');
while(array_key_exists($i, $content)) {
$entries[$i] = '<tr>' . NL;
foreach($fields as $key) {
$entries[$i] = TAB . '<td>' . ${$key}[$i] . '</td>' . NL;
}
$entries[$i] = '</tr>' . NL;
echo $entries[$i];
$i++;
}
}
?>
在我阅读此内容时,花一段时间浏览内容可能并不是一个好主意,请尝试使用foreach($content as $index => $value)
,然后使$index
成为$i
的等效内容,但你不会需要使用$content[$index]
,因为该值的精确值将出现在$value
中。
答案 2 :(得分:1)
在回显/打印的td标签后使用'\ n'
答案 3 :(得分:1)
<?
foreach($array as $single) {
echo "<td></td> \n";
}
?>
答案 4 :(得分:1)
您可以在print语句中添加换行符。
echo "My text\n";
您还可以添加标签以使其缩进整齐。
echo "\t\tMy text\n";
答案 5 :(得分:1)
我想补充一点:如果您使用Windows阅读代码,则应使用\r\n
代替\n
答案 6 :(得分:1)
不确定你在问什么但是你想要摆脱:
$s .= '<td>' . $n . '</td>';
使用($ co表示关闭)
$co = '</td><td>';
$row = '<tr><td>' . $data . $co . $data2 . $co . $data3 . '</td></tr>';