条件 if 语句

Conditional if statement

我想在我的条件语句中添加一个类别列表,我应该如何添加多个类别id? 使用类似 123,124,125 或 123 || 124

我有一个很大的类别列表,所以我正在寻找实现它的最简洁的方法

谢谢

<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$product = $objectManager->get('Magento\Framework\Registry')->registry('current_product');
$categories = $product->getCategoryIds(); /*will return category ids array*/
foreach($categories as $category){
    $cat = $objectManager->create('Magento\Catalog\Model\Category')->load($category);
    echo $cat->getId();
    }

?>

  <?php if($cat->getId()==123): ?>
    <?php echo $block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('myblockid')->toHtml();?>
    <?php endif; ?>

使用in_arrayPHP函数:

<?php if(in_array($cat->getId(), [123, 124, 125])): ?>

最好的解决办法是使用in_array函数

<?php
   if(in_array($cat->getId(), $your_array){
      $block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('myblockid')->toHtml();
   }
?>

使用 in_array() :这检查一个值是否存在于数组中或 not.Return 如果存在则为真。

<?php
    if(in_array($cat->getId(), $categories ):
        echo $block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('myblockid')->toHtml();
    endif;
?>