-8

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,但它没有按应有的方式工作。

任何帮助将不胜感激

4

3 回答 3

3

尝试查看NumberFormatter for PHP。

$f = new NumberFormatter("en", NumberFormatter::SPELLOUT);
echo $f->format(123);

产生结果:一百二十三

于 2013-07-03T09:19:54.400 回答
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')
于 2013-07-03T09:20:34.767 回答
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);
于 2013-07-03T09:21:47.447 回答