在php

时间:2018-04-04 08:18:37

标签: php str-replace suitecrm variable-variables

我有一个suitecrm实现,我想在发票中用单词打印数字。该数字是货币格式,因此它带有逗号(,)。虽然我尝试用空字符串替换逗号,但它根本不起作用。事实上,在下面的行中根本没有任何字符被替换。

//Value here is 10,720.00
$number = "\$" . $variableName . "_total_amount";
$newValueTemp = str_replace(",","",$number);
//Its still 10,720.00 after this

$newValueTemp = str_replace("0","",$number);
//Its still 10,720.00 after this. So basically nothing is getting replace. 

这与变量的变量有关吗?

2 个答案:

答案 0 :(得分:0)

您错误地使用变量变量:

$number = "\$" . $variableName . "_total_amount";

$number成为字符串"$XYZ_total_amount"。要使它成为变量变量,您应该:

$number = $variableName."_total_amount";

然后使用$$number获取值。

答案 1 :(得分:0)

您对货币模块有所了解吗?如果没有,那么请阅读以下内容,希望根据Suite / SugarCRM标准的内容会给您带来更好的结果:

检查路径上的bean文件:modules/Currencies/Currency.php

查找函数unformat_number并研究其代码。它将让您了解货币格式在SuiteCRM中的工作原理。

如果您想在代码中使用“货币”功能,那么以下代码将对您有所帮助:

<?php 
require_once "modules/Currencies/Currency.php"; 
$unformated_number = format_number($number);