在php变量中使用str_replace

在php变量中使用str_replace,php,str-replace,suitecrm,variable-variables,Php,Str Replace,Suitecrm,Variable Variables,我有一个SuiteRM实现,我想在发票中用文字打印数字。数字是货币格式的,因此带有逗号(,)。当我试图用空字符串替换逗号时,它根本不起作用。事实上,在下面的几行中,没有任何字符被替换 //Value here is 10,720.00 $number = "\$" . $variableName . "_total_amount"; $newValueTemp = str_replace(",","",$number); //Its still 10,720.00 after this $ne

我有一个SuiteRM实现,我想在发票中用文字打印数字。数字是货币格式的,因此带有逗号(,)。当我试图用空字符串替换逗号时,它根本不起作用。事实上,在下面的几行中,没有任何字符被替换

//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. 

这和变量的变量有关吗

您使用的变量错误:

$number = "\$" . $variableName . "_total_amount";
将给您留下
$number
作为字符串的
“$XYZ_total_amount”
。要使其成为变量,您应该:

$number = $variableName."_total_amount";

然后使用
$$number
获取值。

您对货币模块有什么想法?如果没有,请阅读以下内容,并希望符合Suite/SugarCRM标准的内容能给您带来更好的结果:

检查路径处的bean文件:
modules/currences/Currency.php

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

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

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

var\u dump($number)
并查看它不是您所认为的……您是否
回显了您的
$number
并确保它确实是10720.00?我们做到了。我还有另外两位同事也被这件事弄糊涂了。当我们打印它时,回显它。。实际上,你需要什么样的输出呢?它应该是10720.00。我不明白为什么人们如此傲慢,对这件事投反对票。我最近两天就有这个问题了。在用尽了所有的选择之后,我来到了这里。我真的很沮丧。将变量名打印为“$aos\u发票\u总金额”,我认为这就是问题所在。这是SuiteRM zend framework中名为generatePdf.php的文件。这是一个相当“基本”的PHP,不确定SuiteRM如何/是否能与之相融合。听到这个消息很难过。对不起,我再也帮不了你了,谢谢你。SuiteRM社区也没有那么大的帮助。不过祝你好运