$TBA正在转换为$0(自定义域)

时间:2013-02-03 作者:Darwin229

我正在开发一个产品展示网站,在我的索引中,我有两个变量的代码片段(price代表price,buynow代表URL)

<div class="buyitnow">
<?php global $post; $price = get_post_meta($post->ID, \'price\', true);
$buylink = get_post_meta($post->ID, \'buynow\', true);
if ( $price ) { ?>$<?php echo ( number_format($price, 2, ".", "") * 100 / 100 ); 
Echo "(<a href=$buylink>Buy</a>)" ?>
<?php } else {} ?></div>
这非常有效。对于非产品帖子,如果没有填写价格,则不显示任何内容。

However, 有些产品的价格为TBA(待定)。I suspect because I\'m using number_format when I enter TBA as the value of price it automatically outputs $0.

考虑到我确实需要使用number_format 所以我以后可以按价格对产品进行分类。

请注意,我刚刚开始用代码弄脏我的手,所以任何进一步的细化都将不胜感激!

1 个回复
最合适的回答,由SO网友:Steve 整理而成

问题是您试图对字符串(“TBA”)执行数学运算,因此结果将为0。尝试使用php函数is\\u numeric()测试值是否为数字。您可以查看该功能的文档here.

因此,请在代码中执行以下操作:

if (is_numeric($price)) {

    ...format the number

} else {

   echo \'TBA\';

}

结束

相关推荐