-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 であることです。

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

OK、私はあなたの問題を理解していると思います。

あなたはおそらく実際に次のようなことをしているでしょう:

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 に答える