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]
我尝试使用 switch,但它没有按应有的方式工作。
任何帮助将不胜感激
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]
我尝试使用 switch,但它没有按应有的方式工作。
任何帮助将不胜感激
尝试查看NumberFormatter for PHP。
$f = new NumberFormatter("en", NumberFormatter::SPELLOUT);
echo $f->format(123);
产生结果:一百二十三
如果您使用的是 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')
$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);