У вас есть несколько вариантов. Во-первых, создайте строку вывода и добавьте к ней, а не echo
в l oop. Затем trim
завершающая запятая и пробел и добавьте .
:
$count = 0;
$output = '';
while ($count<=14){
if ($count&1) {
$numword = new NumberFormatter("en", NumberFormatter::SPELLOUT);
$output .= $numword->format($count).", ";
} else {
$output .= "{$count}, ";
}
$count++;
}
echo trim($output, ', ') . ".";
Другой вариант - записать каждый элемент в массив, а затем implode
это, добавляя точку в конце:
$count = 0;
$output = array();
while ($count<=14){
if ($count&1) {
$numword = new NumberFormatter("en", NumberFormatter::SPELLOUT);
$output[] = $numword->format($count);
} else {
$output[] = $count;
}
$count++;
}
echo implode(', ', $output) . ".\n";
Ваш третий вариант (минимальные изменения в вашем коде) - вывести разделитель, зависящий от значения $count
:
$count = 0;
while ($count <= 14){
if ($count&1) {
$numword = new NumberFormatter("en", NumberFormatter::SPELLOUT);
echo $numword->format($count);
} else {
echo $count;
}
echo ($count < 14) ? ', ' : '.';
$count++;
}
Во всех случаях вывод:
0, one, 2, three, 4, five, 6, seven, 8, nine, 10, eleven, 12, thirteen, 14.
Демонстрация на 3v4l.org