Intereting Posts
PHP: не указан входной файл Обрезаемая фатальная ошибка: объект класса PDOStatement не может быть преобразован в строку в D Может mysql_real_escape_string ALONE предотвратить все виды SQL-инъекций? Разбиение на страницы с использованием MySQL LIMIT, OFFSET получение пустых результатов массива с использованием preg_match_all для значений, которые не соответствуют Не удалось загрузить строку языка: from_failed Разрешения для файлов; Должен ли мой контент в www-папке принадлежать www-data? Разрешение отклонено после загрузки изображения Не удается записать в базу данных MS SQL с использованием соединения PHP ODBC Что называется сессионным хранилищем? Подходящая библиотека для записи PDF с использованием воспламенителя кода Отправка формы запроса POST на PHP facebook login заблокировал проблему с фреймом strtotime () Метод аналогового метода DateTime Переиндексирование массива после фильтрации в php?

php foreach как ключ, каждые два числа как группа

<?php $data=array('1','2','3','4','5','6','7','8','9','10','11'); foreach($data as $key=> $element){ if($key % 2 != 0){ echo $element.'<br />'; } echo '<hr />'; } ?> 

php foreach как ключ, как сделать каждый два числа как группу?

Я хочу вывести:

 1,2 _____ 3,4 _____ 5,6 _____ 7,8 _____ 9,10 _____ 11 

Посмотрите на array_chunk() .

В вашем случае вы будете использовать его так:

 foreach(array_chunk($data, 2) as $values) { echo implode(',', $values)."\n"; } 

Во время последней итерации $values будут иметь только один элемент, поэтому, если вы планируете напрямую обращаться к элементам, используя их индекс, помните, чтобы использовать count() для проверки количества элементов массива.

Ваш foreach () отлично, но вы хотите печатать каждый элемент, а не только каждый из них. Вы также не хотите, чтобы горизонтальное правило выполнялось каждый раз, даже каждый четный. Таким образом:

 <?php $data=array('1','2','3','4','5','6','7','8','9','10','11'); foreach($data as $key=> $element){ echo $element; if($key % 2 != 0){ echo "<br/><hr />"; } else { echo ","; } } ?>