-1

可能重复:
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。

我差点忘了提及 for 的值formatted_order_total();包含在“$”和数字中

这是代码

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

谢谢你

4

3 回答 3

1
$symbol = substr(get_formatted_order_total(), 0, 1);
$numerics = substr(get_formatted_order_total(), 1);
echo $symbol . ($numerics * 3.75);
于 2012-06-11T08:45:09.987 回答
1

好的,我想我明白你的问题了。

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

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

这将回显0

问题是您正试图将一个字符串乘以'$2'一个数字3.75。这隐含地需要将字符串转换为数字。不以数字开头的字符串将转换为值0(请参阅字符串转换为数字)。由于您的字符串以 开头$,它将被转换为0,因此为什么您的乘法结果是0

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

function get_formatted_order_total($amount) {
    return '$' . (2 * $amount);
}
echo get_formatted_order_total(3.75);
于 2012-06-11T08:45:24.437 回答
0

像下面这样的东西应该返回你所追求的值。

function get_formatted_order_total($value) {

$orderTotal =  2 * $value;

$orderTotal = '$' . $orderTotal;

return $orderTotal; 

}

代码用法如下所示:

$orderValue = 3.75;

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

这应该返回您需要的内容。

于 2012-06-11T08:46:00.747 回答