Как поставить перенос каждые n строк
1.
Алексей (27.08.2013 / 17:44)
Есть массив array(1=> 'img1', 2=> 'img2', 3=> 'img3');
Как правельно реализовать перенос в цыкле каждые N строчек.
Например надо пренести каждый второй елемента массива, должно выйти так
1=> 'img1' 2=> 'img2'
тут перенос
3=> 'img3'
2.
marti91 (27.08.2013 / 17:55)
а, я не правильно понял оказывается.
3.
Алексей (27.08.2013 / 17:58)
2.
marti91, нужно не каждый елемент переносить
4.
Алексей (27.08.2013 / 18:16)
Задачку решил.
5.
JustZero (27.08.2013 / 18:37)
<?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 сообщения :/
6.
Алексей (27.08.2013 / 19:08)
5.
alexandr.sytnyk, спасибо, так и сделал)
7.
Вантуз-мен (27.08.2013 / 19:37)
1.
ByKuznec,
http://www.php.net/manual/ru/function.array-chunk.php
8.
JustZero (27.08.2013 / 19:42)
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 сек.
а как насчет производительности?
9.
Вантуз-мен (27.08.2013 / 20:05)
да примерно так, только вызов нужно выносить из цикла
<?
$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 />';
}
10.
Петр (30.08.2013 / 12:55)
9.
Vantuz, это не цикл, а foreach и array_chunk вычисляется один раз, поэтому можно не выносить. Вообще, при чем тут регулярные выражения.
URL:
https://visavi.net/topics/38795