PHP - 如果为null值

时间:2011-06-28 13:41:34

标签: php if-statement

我有以下编码:

<div class="product-top-icons">
  <div class="energy-rating-1"><img src="http://www.justhome.co/skin/frontend/default/just2011/images/assets/<?php echo $_product->getAttributeText('energy_rating_one');?>.jpg"></div>
  <div class="energy-rating-2"><img src="http://www.justhome.co/skin/frontend/default/just2011/images/assets/<?php echo $_product->getAttributeText('energy_rating_two');?>.jpg"></div>
  <div class="energy-rating-3"><img src="http://www.justhome.co/skin/frontend/default/just2011/images/assets/<?php echo $_product->getAttributeText('energy_rating_three');?>.jpg"></div>
  <div class="guarantee-icon"><img src="http://www.justhome.co/skin/frontend/default/just2011/images/assets/<?php echo $_product->getAttributeText('warranty');?>.jpg"></div>
</div>

我想在那里添加一个if语句基本上可以说:

如果'energy_rating_one'属性中的值为null,则不显示除法energy-rating-1,如果'energy_rating_two'属性为null,则不显示div {{1}等等...

5 个答案:

答案 0 :(得分:4)

类似的东西:

<?php if($_product->getAttributeText('energy_rating_one') !== null): ?>
<div class="energy-rating-1"><img src="http://www.justhome.co/skin/frontend/default/just2011/images/assets/<?php echo $_product->getAttributeText('energy_rating_one');?>.jpg"></div>
<?php endif; ?>

以及其他所有人。

答案 1 :(得分:0)

 <?php
   function echoIfExists($argument) {
      $val = $_product->getAttributeText($argument);
      if($val)
           /*your echo stmt*/
   }

echoIfExists('energy_rating_one');
 /** continue here*/

 ?>

答案 2 :(得分:0)

让自己轻松自如。只需将css类规则从energy-rating-1更改为energy-rating-one并回显您已有的变量,即energy-rating-one

答案 3 :(得分:0)

你有一个函数“int_to_words”将“int”值转换为这篇文章中的文本值: http://www.php.net/manual/en/function.strval.php#41988

之后,您只需要迭代所有值

for(i = 0; i < 100; i++) {
    $item = 'energy_rating_'.int_to_words($i);
    if($_product->getAttributeText($item) != null){
      echo "<div class=\"energy_rating_$i\"><img src=\"http://www.justhome.co/skin/frontend/default/just2011/images/assets/".$_product->getAttributeText($item).".jpg\"></div>";
    }
}

答案 4 :(得分:-3)

看一下简短的陈述:

http://www.scottklarr.com/topic/76/ternary-php-short-hand-ifelse-statement/

$total==1 ? "is 1 item" : 
      "are ".($total == 0 ? "no items" : "$total items"