Как реализовать.

Тема в разделе "Как сделать...", создана пользователем Uglik, 17 ноя 2012.

  1. Uglik

    Uglik

    Регистр.:
    8 окт 2008
    Сообщения:
    350
    Симпатии:
    14
    Здравствуйте

    Целый день пытаюсь реализовать данную задачу и ничего не получается.

    Суть вот в чем. Имеется массив с title.

    Например:

    PHP:
    $arr = array("title1","title2","title3","title4","title5")
    И файл logs.txt

    Нужно поочередно сделать проверку вот такого плана. При каждом обращений к скрипту. А не в одном цикле.

    Запускаем скрипт. Берем title1, проверяем содержится ли он в logs.txt, если нет берем его обрабатываем и записываем в logs.txt. и только title1!

    Запускаем скрипт следующий раз. Он берет title1 проверяет, если он содержится в logs.txt пропускаем его и берет title2, если его нет проделываем тоже самое что в прошлый раз.

    Запускаем скрипт еще раз. Берем title1 проверяем существует ли в logs.txt, существует, пропускаем, берем title2 проверяем, существует, пропускаем, берем title3 нету, обрабатываем, записываем в logs.txt. и тд.

    Надеюсь суть понятна ;)

    Так вот моя проблема в том что у меня не получается так реализовать как я написал.

    Если делать в цикле все легко. Пример:

    PHP:
    for($i 0$i count($arr); $i++) {
     
    if(!
    "проверяем существует ли title в logs.txt") {
     
          
    Если нетобрабатываем его и записываем в logs.txt
     
    }
     
    }
    Все поочередно проверяется.

    Но! Меня интересует пример как я описал выше. Что бы брать один title из исходного массива, первый который не существует в logs.txt. Буду весьма благодарен кто снимет напряжение в моей голове.
     
  2. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.402
    Симпатии:
    1.183
    break поставь, если условие сработало, для выхода из цикла, если я правильно понял задачу.
     
  3. Yaggi Jah

    Yaggi Jah Постоялец

    Регистр.:
    15 ноя 2006
    Сообщения:
    75
    Симпатии:
    31
    PHP:
    <?php
     $arr 
    = array("title1","title2","title3","title4","title5");
     
    $count count($arr);
     
    $logs file_get_contents('logs.txt');
     for(
    $i 0$i $count$i++) {
         
    $pos=strpos($logs,$arr[$i]);
         if(
    $pos===false || $pos===null) {
            
    //обрабатываем его и записываем в logs.txt, причём не изменённый!!
             
    break;
        }
     }
    ?>
     
    Uglik нравится это.