我还是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>
谢谢
答案 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>
这应该返回你需要的东西。