2013-07-03 3 views
-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]

я есть попытаться использовать переключатель, но он не работает, как это должно быть.

любая помощь будет принята с благодарностью

+2

См http://www.karlrixon.co.uk/writing/convert-numbers-to-words-with-php/ – naththedeveloper

+0

Помощи с чем? Какая у вас проблема? – Blender

+0

Сделайте усилие ... Прочитайте книгу – Morten

ответ

0

Если вы используете PHP 5.3 или выше, см ответа Дип в выше.

Если нет, см 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') 
+0

большое вам спасибо. оно работает – userqna

3

Попробуйте посмотреть в NumberFormatter для PHP.

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

Производит результат: сто двадцать три

+0

+1, не знал, что это было – naththedeveloper

0
$newArray = array_map(function ($num) { 
    static $map = array(1 => 'one', /* more numbers here ... */); 
    return $map[$num]; 
}, $array); 

Или используя предложение Дип в:

$newArray = array_map(array(new NumberFormatter('en', NumberFormatter::SPELLOUT), 'format'), $array); 
Смежные вопросы