使用PHP循环减少代码


Using PHP loop to reduce code

我有几个下拉框,从那里我可以得到一个类别的id。例如,从下拉框1中,我得到$cat1,从下拉框2中,我得到$cat2,以此类推。

然后我想从db中获取每个cat id的条目。目前,我为每个变量重复相同的代码,如:

<?
$cat1 = 1;
$cat2 = 3;
$cat3 = 4;
$cat4 = 8;
<? if ($var1 != ""){ ?> 
    <div>
        Entries for <? echo $var1; ?>           
        ..
    </div>
<? } ?>
<? if ($var2 != ""){ ?> 
    <div>
        Entries for <? echo $var2; ?>
        ..
    </div>
<? } ?>
<? if ($var3 != ""){ ?> 
    <div>
        Entries for <? echo $var3; ?>
        ..
    </div>
<? } ?>

我想知道我是否可以使用循环,避免为每个变量编写代码。

Try

<?
$cats = array(1,3,4,8);
foreach($cats as $value) {
 if($value != "") {
 ?>
   <div>Entries for <?= $value; ?></div>
 <?
 }
}
?>

使用如下数组:

$cat[1] = 'bla';
$cat[2] = 'Bla2';
    foreach ($cat as $c){
    if ($c != ""){ 
    echo '
        <div>
            Entries for '. $c.'
            ..
        </div>';
    }
}