将简单的php与符号相乘

时间:2012-06-11 08:27:18

标签: php wordpress

  

可能重复:
  Multiply Function Results in PHP

我还是PHP的初学者。我有一个小问题,我想将值get_formatted_order_total();乘以3.75而我所做的是(这是错误的)

get_formatted_order_total(); * 3.75

这些家伙帮我解决了这段代码

<?php

function get_formatted_order_total() {
    return 2;
}

echo get_formatted_order_total() * 3.75;

它工作得很好!但问题是输出是7.5。

我几乎忘了提及formatted_order_total();的值包含在其中“$”和数字

这是代码

<li class="total">
<?php _e('Total:', 'woocommerce'); ?>
<strong><?php echo $order->get_formatted_order_total(); ?></strong>

谢谢

3 个答案:

答案 0 :(得分:1)

$symbol = substr(get_formatted_order_total(), 0, 1);
$numerics = substr(get_formatted_order_total(), 1);
echo $symbol . ($numerics * 3.75);

答案 1 :(得分:1)

好的,我想我理解你的问题了。

你可能实际上是在做这样的事情:

function get_formatted_order_total() {
    return '$' . 2;
}
echo get_formatted_order_total() * 3.75;

这将回显0

问题是您尝试将字符串'$2'乘以数字3.75。这隐含地要求将字符串转换为数字。不以数字开头的字符串将转换为值0(请参阅string conversion to numbers)。由于您的字符串以$开头,因此会转换为0,因此您的乘法结果为0

您需要在连接之前进行乘法运算。例如:

function get_formatted_order_total($amount) {
    return '$' . (2 * $amount);
}
echo get_formatted_order_total(3.75);

答案 2 :(得分:0)

以下内容应返回您所追求的值。

function get_formatted_order_total($value) {

$orderTotal =  2 * $value;

$orderTotal = '$' . $orderTotal;

return $orderTotal; 

$orderTotal = 2 * $value; $orderTotal = '$' . $orderTotal; return $orderTotal;

代码使用情况如下:

}

$orderValue = 3.75;

<strong><?php echo $order->get_formatted_order_total($orderValue); ?></strong>

这应该返回你需要的东西。