我有一个数组:
$prices = array();
随着MySQL查询和获取:
$query = "SELECT $columns FROM Prices WHERE `key` LIKE '$rows' LIKE '$AirportPU' AND rate LIKE '$rate'";
if($results = $db->query($query))
{
if($results->num_rows)
{
while($row = $results->fetch_object())
{
$prices[] = $row;
}
$results->free();
}
我使用以下代码打印出表格:(我删除了一些表格列)
<?php
if(!count($prices)) {
echo '<p>No results found for your current search. Use the inputs to the left to change the filters.</p>';
} else {
?>
<table>
<thead>
<tr>
<th>Location</th>
<th>City</th>
</tr>
</thead>
<tbody>
<?php
foreach ($prices as $p) {
?>
<tr>
<td> <?php echo $p->Location; ?> </td>
<td> £<?php echo $p->City; ?> </td>
</tr>
<?php
}
?>
</tbody>
</table>
<?php } ?>
我可以从MySQL查询返回数据,并将其打印到表中。但是,有时不需要打印所有列,因为它们没有值。我想隐藏这些专栏。
我尝试使用以下方法检查数组:
print (isset($prices["City"])) ? "Exists</br>" : "Doesn't Exist</br>" ;
但这总是会回归&#34;不存在&#34;
if (array_key_exists("City",$prices))
{
echo "Element exists!";
}
else
{
echo "Element does not exist!";
}
这也会返回false。
答案 0 :(得分:0)
检查
if(empty($price['City'] || $price['City'] == "")){
//Hide column
}
答案 1 :(得分:0)
您需要在正在执行的foreach
循环中进行检查。
print (isset($p->City)) ? "Exists</br>" : "Doesn't Exist</br>" ;