提问人:Jerokdeep 提问时间:4/4/2018 更新时间:4/13/2018 访问量:569
在 php 的变量变量中使用 str_replace
Using str_replace in variable variable in php
问:
我有一个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.
这与变量的变量有关吗?
答:
0赞
brombeer
4/4/2018
#1
您错误地使用了变量:
$number = "\$" . $variableName . "_total_amount";
会让你成为一个字符串.要使其成为变量,您应该:$number
"$XYZ_total_amount"
$number = $variableName."_total_amount";
然后用于获取值。$$number
评论
0赞
Jerokdeep
4/4/2018
试过这个。这将变量名称打印为“$aos_invoices_total_amount”
0赞
Jerokdeep
4/4/2018
我认为这就是问题所在。这是在suitecrm zend框架中一个名为generatePdf.php的文件中。那里根本不起作用
0赞
brombeer
4/4/2018
这是非常“基本”的 PHP,不确定 suitecrm 如何/是否会干扰它。听到这个消息很伤心。对不起,那我就没有进一步的帮助了
0赞
Jerokdeep
4/4/2018
无论如何,谢谢你。Suitecrm社区也没有太大的帮助。
0赞
brombeer
4/4/2018
祝你好运
0赞
Star
4/13/2018
#2
你对货币模块有想法吗?如果没有,请阅读以下内容,希望符合 Suite/SugarCRM 标准的内容会给您带来更好的结果:
检查路径中的 bean 文件:modules/Currencies/Currency.php
查找函数并研究其代码。它将让您了解货币格式在SuiteCRM中的工作原理。unformat_number
如果您想在代码中使用“货币”函数,那么以下代码将对您有所帮助:
<?php
require_once "modules/Currencies/Currency.php";
$unformated_number = format_number($number);
评论
var_dump($number)
并看到它不是你想象的那样......echo
$number