PHP - 将数值更改为数组中的单词的最佳方法

时间:2018-04-19 14:31:05

标签: php arrays text numbers

我有一个简单的数组,沿着[2,4,7,8],我希望将条目更改为文本等价物,例如[" two"," four&#34 ;," 7"" 8"。]

我知道如何使用NumberFormatter类转换单个数字,但有一个很好的方法可以使用数组来执行此操作吗?

2 个答案:

答案 0 :(得分:1)

最有效的方法是将array_mapNumberFormatter::SPELLOUT

一起使用
$nf = new NumberFormatter("en", NumberFormatter::SPELLOUT);
$arr = array_map(function($v) use ($nf) {
    return $nf->format($v);
}, $arr);
print_r($arr); // Array ( [0] => two [1] => four [2] => seven [3] => eight )

答案 1 :(得分:-1)

你可以用foreach

来做
$numberFormatter = new NumberFormatter("en", NumberFormatter::SPELLOUT);

foreach ($array as $key=>$value){
   $array[$key] = $numberFormatter->format($value);
}

效果比较:

Stackoverflow - Performance of foreach, array_map with lambda and array_map with static function