最近,我不得不删除大量我精心编码的代码,但这些代码已经存在于PHP中。例如,我有一个拼写数字的函数,例如"56"=>"五十六"。PHP 内置了这个功能,支持任何语言环境/语言。它比我的内置函数好得多。例:
$a = new NumberFormatter('en_US', NumberFormatter::SPELLOUT);
var_dump($a->format('3'));
输出:
three
现在我可能再次面临这个问题。我不想将 1 => "1st"、2 = "2nd"、3 = "3rd"、"4 = "4th"等硬编码为英语,然后才发现 PHP 可以自动为任何语言执行此操作!是这样吗?
为了非常清楚,我想在函数中输入"2",如果区域设置en_US,则让它吐出"2nd",如果其他语言/区域设置,则根据需要吐出任何其他内容。
看看这个答案。
$locale = 'en_US';
$nf = new NumberFormatter($locale, NumberFormatter::ORDINAL);
echo $nf->format($number);