我有以下创建函数的理论,该函数可让您根据货币自动将格式添加到数字中。
$price = 19999;
$curr = 'EUR';
function DinersFormat($price, $curr){
$currencies['EUR'] = array(2, ',', '.'); // Euro
$currencies['ESP'] = array(2, ',', '.'); // Euro
$currencies['USD'] = array(2, '.', ','); // US Dollar
$currencies['COP'] = array(2, ',', '.'); // Colombian Peso
$currencies['CLP'] = array(0, '', '.'); // Chilean Peso
}
除了可以很好地替代money_format()功能或NumberFormatter功能之外,它看起来也很优雅
因此,我的想法是能够将格式类型发送给函数number_format(),例如:在线执行演示
$price = 1000;
$curr = "0, ',', ' '";
$money = number_format($price, $curr);
//$money = number_format($number, 0, ',', ' ')
echo $money;
但是结果不正确,1,000并出现错误信息:
PHP注意:在第6行/home/NC7DpL/prog.php中遇到的格式不正确的数值-> $money = number_format($price, $curr);
预期的正确输出是 1 000
然后如何number_format()从函数内部的数组中生成,这样我就可以以这种方式DinersFormat($price, $curr);或以这种方式使用它DinersFormat($price, $curr='EUR');
梦里花落0921