Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как прервать цикл ?

Сообщения:  [1-4] 

 
 автор: psychomc   (12.10.2010 в 18:33)   письмо автору
 
   для: huligun   (12.10.2010 в 18:24)
 

а куда делись фигурные скобки после for ?

  Ответить  
 
 автор: huligun   (12.10.2010 в 18:24)   письмо автору
 
   для: Саня   (12.10.2010 в 12:02)
 

Теоритически я все знаю :)
но вот примерчик как конкретно прервать цикл после первого нахождения 0 и его замены на 1 ?
пробовал ставить break но получал
Fatal error: Cannot break/continue 1 level

  Ответить  
 
 автор: Саня   (12.10.2010 в 12:02)   письмо автору
 
   для: huligun   (12.10.2010 в 11:18)
 

> как обспечить наибольшую скорость доступа потоков к файлу
Открывать файл только когда появляется необходимость и сразу закрывать его по завершению работы с ним (важно проверять и применять блокировки в этот момент). Между открытием и закрытием не должны производиться другие операции, кроме чтения/записи в файл.
Ещё желательно чтобы каждый поток писал изменения в свой файл, а не в исходный. После завершения всех обработок нужно объединить результирующие файлы всех потоков в один и заменить им исходный.

> ...и вместе с тем защитить от дублирубщих обработок строк файла ?
Можно вести лог обработанных строк. А можно не вести и указать чтобы один поток обрабатывал чётные строки, другой нечётные.

Циклы прерываются оператором break.

  Ответить  
 
 автор: huligun   (12.10.2010 в 11:18)   письмо автору
 
 

Вот такой скриптик запускается многопоточно, как обспечить наибольшую скорость доступа потоков к файлу и вместе с тем защитить от дублирубщих обработок строк файла ?
И еще как прервать цикл после первого нахождения 0 ?
<?php
$url_fl = "url.txt";
$urllist = file($url_fl);
for($i=0;$i<count($urllist);$i++)
$arr_line .= ("$urllist[$i]");
if(preg_match('[ 0]', $arr_line))
{
$url1 = str_replace("0", "1", $arr_line);
$fp = fopen($url_fl,"w");
fwrite($fp, $url1);
echo "$arr_line";
}
else
{
echo "DONE";
exit();
}

exit();
?>

  Ответить  

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования