有没有办法让我的代码更小?我的意思是我打赌有一种方法可以让它更小但我不知道,我有以下代码if
:
if($CType != NULL)
{
echo '<th align="right">CType </th>';
}else{
}
if($CNr != NULL)
{
echo '<th align="right">CNr </th>';
}else{
}
if($CValFrom != NULL)
{
echo '<th align="right">CValFrom </th>';
}else{
}
if($CValUntil != NULL)
{
echo '<th align="right">CValUntil </th>';
}else{
}
if($CLTCCNr != NULL)
{
echo '<th align="right">CLTCCNr </th>';
}else{
}
if($CLTCCTime != NULL)
{
echo '<th align="right">CLTCCTime </th>';
}else{
}
if($CIOEntryOff != NULL)
{
echo '<th align="right">CIOEntryOff </th>';
}else{
}
if($CIOExitOff != NULL)
{
echo '<th align="right">CIOExitOff </th>';
}else{
}
if($CICoded != NULL)
{
echo '<th align="right">CICoded </th>';
}else{
}
if($CCodingDate != NULL)
{
echo '<th align="right">CCodingDate </th>';
}else{
}
if($CPrice != NULL)
{
echo '<th align="right">CPrice </th>';
}else{
}
if($CPricePyed != NULL)
{
echo '<th align="right">CPricePyed </th>';
}else{
}
if($CDeposit != NULL)
{
echo '<th align="right">CDeposit </th>';
}else{
}
if($CDepositPayed != NULL)
{
echo '<th align="right">CDepositPayed </th>';
}else{
}
if($CLastCCode != NULL)
{
echo '<th align="right">CLastCCode </th>';
}else{
}
if($CLastLPlate != NULL)
{
echo '<th align="right">CLastLPlate </th>';
}else{
}
if($CIOOffNextUse != NULL)
{
echo '<th align="right">CIOOffNextUse </th>';
}else{
}
if($CLastEntryTime != NULL)
{
echo '<th align="right">CLastEntryTime </th>';
}else{
}
if($CLastExitTime != NULL)
{
echo '<th align="right">CLastExitTime </th>';
}else{
}
if($CLastPTime != NULL)
{
echo '<th align="right">CLastPTime </th>';
}else{
}
如何做到这一点?它应该以同样的方式工作。
答案 0 :(得分:3)
有很多方法可以做到这一点。
其中一个:
$tableHeaders = [
['variable' => 'CType', 'title' => 'Tipo'],
['variable' => 'CNr', 'title' => 'Nr.'],
...
];
foreach($tableHeaders as $tableHeader) :
$variable = $tableHeader['variable'];
if (!isset($$variable) OR is_null($$variable)) continue;
?>
<th align="right"><?= $tableHeader['title']; ?></th>
<?php
endforeach;
?>
但推荐的方法是使用普通模板引擎并让它自己渲染数据集