[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: логическая задача помогите решить
sx000
есть 10 003 строки текста, каждый раз в цикле я складываю строку в новый массив с порядковым номером - ключ $count. По достижению в массиве 100 строк он должен обнулить счетчик и произвести с пачкой некие операции. Но вот незадача, толи я спать хочу толи чего ... в общем, если мы скажем все 10 000 строк отработали у нас остаются еще 3 строки, как сними быть они не попадают под условие же $count <= 100 а мне надо чтоб все до конца отработало. Подскажите как сделать! А число 3 плавающее значение которое я по сути не знаю, это может быть и 5 и 12 ...

$fp_=fopen($file_sorce, 'r');//тут 10 003 строк
$count=1;
while (!feof($fp_))
{
$string=fgets($fp_, 8096);
$string=trim($string);
$count++;
//если счетчик <= 100 то
if ($count <= 100)
{
//положить строку в массив
$string_imort[$count]=$string_imort;
}
else
{
echo $count;
count=1;
}
}




Спустя 3 минуты, 52 секунды (18.09.2011 - 00:33) vital написал(а):
ну а что мешает после цикла считать еще 3 строки и дописать их в массив?
и это.. можно вопрос? Нахрена такой идиотизм?

Спустя 29 секунд (18.09.2011 - 00:34) caballero написал(а):
то что после feof останется и будет 3

Спустя 21 минута, 15 секунд (18.09.2011 - 00:55) sx000 написал(а):
Цитата (vital @ 17.09.2011 - 21:33)
ну а что мешает после цикла считать еще 3 строки и дописать их в массив?
и это.. можно вопрос? Нахрена такой идиотизм?

в смысле идиотизм? ... давайте работать с Mysql вы из этой серии что то хотели подсказать ... smile.gif?
после цикла: нельзя только Внутри этого цикла.


Цитата
то что после feof останется и будет 3

не понял малость...

Спустя 29 минут, 58 секунд (18.09.2011 - 01:25) inpost написал(а):
sx000
count ставь 0, В начале цикла, а не в конце делай count++. Итого после цикла(!) сделай дополнительную проверку: if(count($count)) {тогда ещё раз запустить это действие, что делалалось в цикле, когда записей было 100}

Хм, в условии ничего не говорится, что после цикла нельзя. Зачем изврат? Сделай нормально после цикла!

Спустя 17 часов, 19 минут, 39 секунд (18.09.2011 - 18:45) sx000 написал(а):
if ( ($count == 10) || (feof($fp_) )  {
// набралась пачка строк
$count = 0
} else {
$count++;
}

кому интересно решение вот такое :), не сам догадался помучал 3 минуты знакомого программиста. Диагноз это просто мало опыта :)

Спустя 1 час, 18 минут, 56 секунд (18.09.2011 - 20:03) inpost написал(а):
sx000
Диагноз - извращения, которым нет места в адекватном программировании.

Спустя 14 минут, 54 секунды (18.09.2011 - 20:18) sx000 написал(а):
А что вам не понравилось в моем коде, он делает все что мне нужно. Если вы сторонник так сказать убивания 90 процентов времени на облизывание кода то я не чего с этим сделать не могу, мне заниматься этим некогда - это всего лиш часть моей работы. А пишу я сам потому что контроля больше, программист написал и убежал ... или просить задолбаешся мелочь писать. А так все отлично работает. Не понимаю причины обзываний вообще. Думаю я намного лучше исполняю иные задачи, но даже там я не когда не назвал работу сделанную до логического конца - извращением, это по крайне мере не проффесинально а пафосно.

Спустя 1 час, 7 минут, 37 секунд (18.09.2011 - 21:26) inpost написал(а):
"после цикла: нельзя только Внутри этого цикла."
Кто создал запрет? Разработчики PHP? Нет, это выглядит на какую-то конкурсную работу, которой применений нет в реальной жизни, лишь повыделываться, кто сможет внутри цикла вставить.
Примерно такие же задачки вижу именно на приёме на работе (из тех, что выставляют), вот они и абсурдные. Адекватно - вынес за цикл, сделал, все довольны.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.