Как поставить перенос каждые n строк

Печать RSS
408

А
Автор
Пришелец
0
Есть массив array(1=> 'img1', 2=> 'img2', 3=> 'img3');

Как правельно реализовать перенос в цыкле каждые N строчек.

Например надо пренести каждый второй елемента массива, должно выйти так

1=> 'img1' 2=> 'img2'

тут перенос
3=> 'img3'
M

Землянин
0
а, я не правильно понял оказывается.
Изменил: marti91 (27.08.2013 / 17:58)
А
Автор
Пришелец
0
2. marti91, нужно не каждый елемент переносить
А
Автор
Пришелец
0
Задачку решил.
J

Оранжевые штаны
0
<?php

$images = array('img1', 'img2', 'img3', 'img3', 'img3', 'img3', 'img3', 'img3', 'img3', 'img3', 'img3', 'img3', 'img3', 'img3');

$i = 0;

foreach ($images AS $image) {
	$i++;
	echo $image;
	if ($i == 3) {
		echo '<br />';
		$i = 0;
	}
}

?>

Добавлено через 00:25 сек.
блин, не заметил 4 сообщения :/
Изменил: JustZero (27.08.2013 / 18:37)
А
Автор
Пришелец
0
5. alexandr.sytnyk, спасибо, так и сделал)

Господин ПЖ
0
J

Оранжевые штаны
0
7. Vantuz, типа так?
<?php

$images = array('img1', 'img2', 'img3', 'img3', 'img3', 'img3', 'img3', 'img3', 'img3', 'img3', 'img3', 'img3', 'img3', 'img3');


foreach (array_chunk($images, 3) AS $image) {
	foreach($image as $img) {
		echo $img;
	}
	echo '<br />';
}

?>

Добавлено через 02:58 сек.
а как насчет производительности?

Господин ПЖ
0
да примерно так, только вызов нужно выносить из цикла

<? 
$images = array('img1', 'img2', 'img3', 'img4', 'img5', 'img6', 'img7', 'img8', 'img9', 'img10', 'img11', 'img12', 'img13', 'img14');
$broken = array_chunk($images, 2);


echo '<table>';
 foreach ($broken as $image) {
     echo '<tr>';
     foreach ($image as $value) {
         echo '<td>' . $value . '</td>';
     }
     echo '</tr>';
 }
 echo '</table>';

Добавлено через 01:40 сек.
Так будет красивее, но наверно все же медленнее

Добавлено через 07:42 сек.
Самый короткий и быстрый код такой
<?
$images = array('img1', 'img2', 'img3', 'img4', 'img5', 'img6', 'img7', 'img8', 'img9', 'img10', 'img11', 'img12', 'img13', 'img14');

foreach ($images as $key=>$image) {
 	echo $image;
 	if ($key & 1) echo '<br />';
}
П

Пацак
0
9. Vantuz, это не цикл, а foreach и array_chunk вычисляется один раз, поэтому можно не выносить. Вообще, при чем тут регулярные выражения. smile
Изменил: Петр (30.08.2013 / 12:58)
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск