пятница, 7 августа 2009 г.

Вывод слов через запятую

Довольно распространённая задача, когда у нас имеется массив строк и требуется вывести их на экран, разделяя запятыми. Можно конечно сделать вот так:


// создаём массив строк; в данной случае это все цвета радуги
$ar = array('красный', 'оранжевый', 'жёлтый', 'зелёный', 'голубой', 'синий', 'фиолетовый');
echo 'Все цвета радуги: ';
// проходим по каждому элементу из массива и ставим после него запятую
foreach($ar as $v)
{
echo $v.', ';
}

На выходе получаем следующее:

Все цвета радуги: красный, оранжевый, жёлтый, зелёный, голубой, синий, фиолетовый,

Всё бы ничего, да только запятая в конце мозолит глаз. Надо бы её убрать. А как? Можно, конечно, изгаляться и придумывать сложные алгоритмы, а можно почитать документацию и обнаружить замечательную функцию implode().

Итак, изменим наш код:


// создаём массив строк; в данной случае это все цвета радуги
$ar = array('красный', 'оранжевый', 'жёлтый', 'зелёный', 'голубой', 'синий', 'фиолетовый');
echo 'Все цвета радуги: ';
// передаём в функцию implode() строку-разделитель и наш исходный массив
echo implode(', ', $ar);

Смотрим на результат:

Все цвета радуги: красный, оранжевый, жёлтый, зелёный, голубой, синий, фиолетовый

Теперь нам уже не нужно заботиться о последовательности запятых. Функция всё сделает сама.

Комментариев нет:

Отправить комментарий