多个php if($ category-> getId()==

时间:2011-10-26 08:12:34

标签: php if-statement

我根据类别显示动态内容。 代码工作得很好,除了我想在1 if语句中组合多个getId。目前,每个if或elsif语句都会调用每个类别Id。我给了我很多额外的代码。 是否可以在1 if语句???

中组合多个类别id

当前代码:

<?php $category = Mage::getModel('catalog/layer')->getCurrentCategory();?> 
<?php if($category->getId()==1): ?> text 1
<?php elseif($category->getId()==2): ?> text 1
<?php elseif($category->getId()==3): ?> text 1
<?php else: ?> text 2
<?php endif; ?>

4 个答案:

答案 0 :(得分:3)

我通常使用in_array()函数执行此操作。所以:

<?php
    $myValidIds = array(1,2,3);
    if(in_array($category->getId(), $myValidIds)){
        // Do something....
    }
?>

答案 1 :(得分:0)

一个简单的in_array就足够了。

$allowed = array('1', '2', '3');
if (inarray($category->getId(), $allowed)){
    //it exists, show text 1
}else{
    //it doesnt exist, show text 2
}

答案 2 :(得分:0)

为什么不

$cat = $category->getId();
if($cat==1) ...

答案 3 :(得分:-1)

如果id等于1,2或3时提供“text 1”,为什么不能只输入

<?php if($category->getId()==1 || $category->getId()==2 || $category->getId()==3): ?> text 1