За последние 24 часа нас посетили 17882 программиста и 1611 роботов. Сейчас ищут 1382 программиста ...

Условие на последнюю итерацию foreach

Тема в разделе "PHP для новичков", создана пользователем sooslick, 18 мар 2013.

  1. sooslick

    sooslick Активный пользователь

    С нами с:
    18 мар 2013
    Сообщения:
    7
    Симпатии:
    0
    Помогите создать правильное условие.
    В теме для wp имеется следующий код для вывода категорий записи блога:
    Код (Text):
    1. <?php
    2. foreach((get_the_category()) as $category) {
    3. echo '<a href="'.get_category_link($category->term_id ).'">'.$category->cat_name.'</a>';
    4. }
    5. ?>
    Получается когда у записи несколько категорий - эти категории отображаются как две слитно расположенные ссылки, понимаю, что можно просто добавить пробел, но хочется запятую...
    Подскажите как составить условие, чтобы после ссылки добавлялась запятая, только в том случае, если это не последняя итерация.

    В смарти было хорошее условие для этого, может и в php что-то подобное есть.
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    так
    Код (PHP):
    1. $cnt = 0;
    2. foreach((get_the_category()) as $category) {
    3.  if ($cnt>0) echo ',';
    4.  echo '[url="'.get_category_link($category->term_id ).'"]cat_name.'[/url]';
    5.  ++$cnt;
    или так
    Код (PHP):
    1. $a=array();
    2. foreach((get_the_category()) as $category) {
    3.  $a[] = '[url="'.get_category_link($category->term_id ).'"]cat_name.'[/url]';
    4. }
    5. echo join(',',$a); 
     
  3. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    .....................