在带有 %s 字符串的 PHP sprintf 函数中使用美元符号
Use dollar sign in PHP sprintf function with a %s string
这涉及到 Wordpress 语法,但我认为这主要是一个 PHP 问题。
我正在使用这个功能:
$subject = sprintf( '%s New Customer Order %s for %s on %s', $blogname, $order->id, $order->get_total, $order->order_date );
生成如下内容:
"SiteName New Customer Order #3715 for .00 on July 5th"
问题是 $order_total 输出为不带美元符号的普通整数。使用 $%s 或 \$%s 不起作用。我如何将美元符号附加到第二个 %s 变量?
我愿意:
$currency = '$';
$subject = sprintf( '%s New Customer Order %s for %s%01.2f on %s',
$blogname,
$order->id,
$currency,
$order->get_total,
$order->order_date );
因此能够针对不同的货币进行更改,并将金额格式化为美元和美分(或欧元和美分、英镑和便士等)
您实际上可以在 get_total
变量之前连接美元符号 $
。像这样:
<?php
//Test class
class Order{
public $id = "3333";
public $get_total = "50.00";
public $order_date = "07-06-2017";
}
$order = new Order();
// Concatenate the dollar sign $ before the $order->get_total variable
echo sprintf( '%s New Customer Order %s for %s on %s', "Test name", $order->id, "$" . $order->get_total, $order->order_date );
?>
工作示例:http://sandbox.onlinephpfunctions.com/code/648e6873ebfe9ffc68eb54e61cc2e953be612dca
这涉及到 Wordpress 语法,但我认为这主要是一个 PHP 问题。
我正在使用这个功能:
$subject = sprintf( '%s New Customer Order %s for %s on %s', $blogname, $order->id, $order->get_total, $order->order_date );
生成如下内容: "SiteName New Customer Order #3715 for .00 on July 5th"
问题是 $order_total 输出为不带美元符号的普通整数。使用 $%s 或 \$%s 不起作用。我如何将美元符号附加到第二个 %s 变量?
我愿意:
$currency = '$';
$subject = sprintf( '%s New Customer Order %s for %s%01.2f on %s',
$blogname,
$order->id,
$currency,
$order->get_total,
$order->order_date );
因此能够针对不同的货币进行更改,并将金额格式化为美元和美分(或欧元和美分、英镑和便士等)
您实际上可以在 get_total
变量之前连接美元符号 $
。像这样:
<?php
//Test class
class Order{
public $id = "3333";
public $get_total = "50.00";
public $order_date = "07-06-2017";
}
$order = new Order();
// Concatenate the dollar sign $ before the $order->get_total variable
echo sprintf( '%s New Customer Order %s for %s on %s', "Test name", $order->id, "$" . $order->get_total, $order->order_date );
?>
工作示例:http://sandbox.onlinephpfunctions.com/code/648e6873ebfe9ffc68eb54e61cc2e953be612dca