请问php中一个参数get后返回值为0则不输出该怎么写?

新手,不怎么懂代码,上面这段代码,当数字为0时会显示:独家券0元。这样不好。所以我想,当数字为零时,直接隐藏span整个标签,请问高手我该怎么写?

<span class="broke_quan">独家券:<i class="broke_huij"><?php echo floatval(get_post_meta($post->ID, 'youhui_value', true)); ?>元</i></span>
阅读 1.8k
2 个回答

根据官方引导,对于类型转换应该首选 (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代码块里充斥大量字符串包裹,这里有更多的说明和用法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题