индексы в массивах как их переберать верно

STill

Новичок
индексы в массивах как их переберать верно

<?php
$lines = file ('./data/a');
$i=0;
while ($i<count($lines)){
echo '<br>'. htmlspecialchars($lines[$i]);
$i++;
}
?>
это выводит
строка 1
строка 2
строка 3
строка 4
мне нужно чтобы выводилось следуюшие
строка 1
строка 2
htmlстрока 3
htmlстрока 4
как тут условие записать чтобы после 2 строчки доборлять к выодимым значениям из массива свой html код?
 

Frol

Новичок
как умно подправить свой пост, а потом еще обвинять человека, что он не понял.
 

STill

Новичок
да я нико и нехотел подстовлять (я делаю ставку на что он может подумал что это не мой скрипт) только выводы зделал и добали несколько фраз
 

DimbIch

Новичок
если тебе нужно на каждой третьей строке ставить хтмл код...
значит твой $i должен делиться на 3 без остатка - в этом случае ставишь твой код.....
думай :)
if()
математические операции тоже подучи
 

STill

Новичок
Автор оригинала: SelenIT
STill
к каждой строчке нужно добавлять одно и то же?
да к каждой типа echo '<a href="'. htmlspecialchars($lines[$i]) . '"></a>'; но только чтоб код добовлялся после 2 строчки?

-~{}~ 24.02.05 09:07:

Автор оригинала: DimbIch
если тебе нужно на каждой третьей строке ставить хтмл код...
значит твой $i должен делиться на 3 без остатка - в этом случае ставишь твой код.....
думай :)
if()
математические операции тоже подучи
я тут же сделаю только дай пример куда if поставить чтоб корректно было!
 

rotoZOOM

ACM maniac
PHP:
while ($i<count($lines)){
if ($i>1)echo твойкод+все что хочешь;
else echo '<br>'. htmlspecialchars($lines[$i]);
$i++;
}
 

STill

Новичок
Автор оригинала: rotoZOOM
PHP:
while ($i<count($lines)){
if ($i>1)echo твойкод+все что хочешь;
else echo '<br>'. htmlspecialchars($lines[$i]);
$i++;
}
к сожалению всё не так просто это выдаст все значения (при else) массива $lines, а смысл был в переборе значений. PS я могу уже в этом скрипте перебрать значения но мне необходимо задать условие при котором можно добавлять htmlкод после 2 строки
PS[2].Но спасибо что откликнулись.
 

SelenIT

IT-лунатик :)
при данных конкретных условиях, имхо, можно вообще без цикла обойтись:
PHP:
$lines = array_map('htmlspecialchars',file('./data/a'));
echo '<br>'.array_shift($lines);
echo '<br>'.implode($text_to_add,$lines);
хотя проверить в цикле - нет ничего сложного, rotoZOOM дал неплохой пример, только else в нем по-моему лишний.
условие при котором можно добавлять htmlкод после 2 строки
В примере rotoZOOMа присутствует :)
 

STill

Новичок
дак там выводится после 2 строки а первые строки не вывыводит
 

STill

Новичок
дак при выполнении else выводяться все значения массива написано же сверху
 

rotoZOOM

ACM maniac
да ? клева ... то есть я одной функцией echo вывожу сразу все значения массива ?
 

STill

Новичок
Автор оригинала: rotoZOOM
да ? клева ... то есть я одной функцией echo вывожу сразу все значения массива ?
Да интересный ты человек ты мой код посмотри сверху что там не echo чтоли ?????
Вобшето твой код сработал !!!!!!!

-~{}~ 24.02.05 15:46:

Все тема закрыта я сам разобрался!

-~{}~ 24.02.05 15:51:

Спасибо всем, хотя тут и злые есть!
 

SelenIT

IT-лунатик :)
Именно поэтому я сделал вывод, что задача состояла в выводе всех строк, но первые две - как есть, а последующие - "с изменениями и дополнениями". else для этого не нужен. По большому счету, как показывает пример, тут и цикл не обязателен :) (хотя с ним, конечно, гибче и универсальнее).
 

STill

Новичок
Меня заинтересовали оба варианта ! SelenIT где можно прочитать про твой вариант чтобы понят твой код корректно
 
Сверху