将值数组转换为字符串

时间:2013-07-03 09:17:32

标签: php

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]

我尝试使用开关,但它没有按预期工作。

任何帮助将不胜感激

3 个答案:

答案 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);