新手,不怎么懂代码,上面这段代码,当数字为0时会显示:独家券0元。这样不好。所以我想,当数字为零时,直接隐藏span整个标签,请问高手我该怎么写?
<span class="broke_quan">独家券:<i class="broke_huij"><?php echo floatval(get_post_meta($post->ID, 'youhui_value', true)); ?>元</i></span>
###
根据官方引导,对于类型转换应该首选 (int)、(float) 这类语法结构,尽量避免使用 ***val()
这类方法。
使用 if 判断。
<?php $coupon = (float)get_post_meta($post->ID, 'youhui_value', true); ?>
<?php if($coupon >= 0): ?>
<span class="broke_quan">独家券:<i class="broke_huij">
<?php echo $coupon; ?>元</i>
</span>
<?php endif;?>
###
显示不显示,这是 if else
逻辑判断,在php里做判断
把span整个标签放到php代码里,把金额的计算单独处理,使代码逻辑看起来更清晰
<?php if($post->ID):?>
<?php $money = floatval(get_post_meta($post->ID, 'youhui_value', true));?>
<span class="broke_quan">
独家券:<i class="broke_huij"><?php echo $money;?>元</i>
</span>
<?php endif; ?>
以上使用了php替代语法,是一种简写避免在php代码块里充斥大量字符串包裹,这里有更多的说明和用法