Elseif语句不执行

问题描述 投票:0回答:1

我想显示的是 $attributevalue 的属性,如果是空的,则隐藏,如果结果不是产品页,则显示其他值。所有的工作都很好,除了当产品页面的属性为空时。它要显示的是。"无属性数据"。现在它显示的是列表,没有数据。

我不是程序员,不知道哪里出了问题。是否与结果为NULL或0有关?

<?php
   $product = \Concrete\Package\CommunityStore\Src\CommunityStore\Product\Product::getByCollectionID($r->getCollectionID());
   if ($product && (strlen(trim($attributevalue)) >= 0)){ 
   $attributevalue = $product->getAttribute('artikelnummer');?>
      <ul class="searchlist">
         <li><span>Artikel nr.:</span> <?php echo $attributevalue ; ?></li>
      </ul>
   <?php } 
   elseif ($product && (strlen(trim($attributevalue)) == 0)){
      echo 'no attribute data';
   } 
   else {
      echo 'no productpage';
   }
?>
php if-statement search echo concrete5
1个回答
0
投票

我认为这是因为 if($product && (strlen(trim($attributevalue)) >= 0)) 这样你就会严格检查两个变量 $product$attributevalue 它们 >=0 是否

将if语句改为

if(isset($product) && strlen(trim($attributevalue)) >= 0)
{
...
}
© www.soinside.com 2019 - 2024. All rights reserved.