Home → Php →

Определяем последнюю итерацию в цикле foreach

Опубликовано в ср, 08/13/2014 - 20:57

Столкнулся с задачей вывода данных массива через слеш, например: первое значение / второе значение / третье значение. Вроде бы все просто, берем массив и распечатываем его содержимое с помощью цикла foreach, отделяя значения слешем, но тогда мы получим следующее: первое значение / второе значение / третье значение /. Последний слеш портит всю картину. Чтобы его убрать нужно определить последнюю итерацию цикла foreach, и в ней не распечатывать слеш.

От слов к делу

<?php
$input_array 
= array( '1', '2', '3', '4'); // исходный массив 
$i = 0; // начальное значение счетчика итераций

foreach($input_array as $value){
     if(
$i != count($input_array)-1){
          print 
$value . ' / ';
     }else{
          print 
$value . ' '; 
      }
     
$i++;
}
?>

В результате получаем: 1 / 2 / 3 / 4. Для тех, кто до сих пор не догнал, что тут происходит, поясняю: мы создаем переменную $i, которая будет счетчиком итераций цикла, то есть ее начальное значение равняется нулю, и после каждого прохода цикла она увеличивается на единицу, и как только она станет равна последнему индексу элемента массива (count($input_array)-1), то условие перенаправляет нас на печать $value без слеша.

count
foreach
итерация
массив

Menu

  • Главная
  • О блоге

Подписка на блог

Category

Drupal
(15)
Php
(4)
Верстка
(2)
Разное
(2)
© by Conocube / Блогу - 1681 день