array = [1,2,3,4,5,3,2,3,1]
将值重新排列为新数组
SS (5), S (4), TP (3), TS (2), STS (1)
newarray =[sts,ts,tp,s,ss,tp,ts,tp,sts]
我尝试使用开关,但它没有按预期工作。
任何帮助将不胜感激
答案 0 :(得分:3)
尝试查看PHP的NumberFormatter。
$f = new NumberFormatter("en", NumberFormatter::SPELLOUT);
echo $f->format(123);
产生结果:一百二十三
答案 1 :(得分:0)
如果您使用的是PHP 5.3或更高版本,请参阅上面的Deepu答案。
如果没有,请参阅http://www.karlrixon.co.uk/writing/convert-numbers-to-words-with-php/
现在使用该链接可以遍历数组并转换它们。
$array = array(5,4,3,2,1,4,3,2);
$new = array();
foreach($array as $key => $value) {
$new[] = onvert_number_to_words($value);
}
print_r($new); // array = ('five','four','three','two','one','four','three','two')
答案 2 :(得分:0)
$newArray = array_map(function ($num) {
static $map = array(1 => 'one', /* more numbers here ... */);
return $map[$num];
}, $array);
或者使用Deepu的建议:
$newArray = array_map(array(new NumberFormatter('en', NumberFormatter::SPELLOUT), 'format'), $array);