【发布时间】:2014-09-18 09:09:04
【问题描述】:
我目前有一个问题。
我已经设置了一个 TeamSpeak 脚本,可以在 PHP 中显示禁止列表。
它通过 foreach 将它们显示在表格上。 但我不希望它显示没有 UID 的禁令。
这是脚本:
<table class="table">
<tr>
<th>Unique Ban ID</th>
<th>Name</th>
<th>UID</th>
<th>Created</th>
<th>Duraction</th>
<th>Invoker</th>
<th>Reason</th>
</tr>
<? foreach ($banlist['data'] as $row) : ?>
<tr>
<td>
<? if($banid == ""){ $banid = "Not Yet Assigned"; } echo $banid; ?>
</td>
<td>
<? echo $row['lastnickname']; ?>
</td>
<td>
<? echo $row['uid']; ?>
</td>
<td>
<? echo $row['created']; ?>
</td>
<td>
<? if($row['duration'] == '0' ){ $row['duration'] = "Permanent"; } else { $row['duration'] = gmdate("H:i:s", $row['duration']); } echo $row['duration']; ?>
</td>
<td>
<? echo $row['invokername']; ?>
</td>
<td>
<? echo $row['reason']; ?>
</td>
</tr>
<? endforeach; ?>
</table>
目前显示的禁令与 UID/$row['uid'] 不同
如何停止 foreach 显示没有 UID 的整行。
数组格式是这样的:
Array ( [success] => 1 [errors] => Array ( ) [data] => Array ( [0] => Array ( [banid] => 22 [ip] => [name] => [uid] => {uid} [lastnickname] => {nickname} [created] => 1406227162 [duration] => 0 [invokername] => {name} [invokercldbid] => 30 [invokeruid] => {invokerid} [reason] => {reason} [enforcements] => 1 ) [1] => Array ( [banid] => 23 [ip] => 0.0.0.0 [name] => [uid] => [lastnickname] => [created] => 1406227162 [duration] => 0 [invokername] => {name} [invokercldbid] => 30 [invokeruid] => {uid} [reason] => {reason} [enforcements] => 0 ) ) )
出于明显的原因,我将其中的一些空白,所以我空白的所有地方都以 {} 开头和结尾。
但在这种情况下,我不希望它显示Array[1],因为它只包含一个 IP 而不是 UID。如何阻止它显示整个 Array[1]?
【问题讨论】:
-
请注意短打开标签(
<?而不是<?php),因为它并非在所有服务器上都启用(不确定这对您是否重要)。 -
哦,谢谢 :D 我什至没有意识到我有短标签。在我的代码中更改了它。谢谢一百万。
标签: php arrays foreach html-table