поиск в массиве

Discussion in 'PHP' started by Student :), 29 Jul 2009.

  1. Student :)

    Student :) Elder - Старейшина

    Joined:
    9 Feb 2007
    Messages:
    278
    Likes Received:
    18
    Reputations:
    -15
    Привет всем!!!

    есть файл file.txt

    5765765765
    6576575767
    6665888765

    и файл in.php

    PHP:
    $str=$_GET['s'];
    $fl "file.txt";

    $file file($fl); //загоняем файл в массив $file

    $count count($file); //подсчитываем количество строк

    for($i=0;$i<$count;$i++) //создаём цикл, кол-во оборотов равно количиству строк в файле
    {
    if (
    $file[$i]=='6665888765'){
    echo 
    'ok';
    exit;
    }


    }
    почему не отрабатывает if когда доходит до
    6665888765 и не выводиться на экран ok
     
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Student :) Незачем создавать сто топиков, для подобных вопросов есть специальная тема: /thread40896.html

    Попробуйте if (trim($file[$i])=='6665888765')
     
    _________________________
  3. Student :)

    Student :) Elder - Старейшина

    Joined:
    9 Feb 2007
    Messages:
    278
    Likes Received:
    18
    Reputations:
    -15
    Спасибо! забыл что там идёт перевод строки :)

    а какбы потом удалить эту строку из файла ? :)
     
    #3 Student :), 29 Jul 2009
    Last edited: 29 Jul 2009
  4. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    1. Используй цикл foreach, ф-цию array_map.
    2. Чтобы удалить строку из файла, надо сначала удалить требуемый элемент массива, после чего тем же циклом foreach записать массив в файл.
     
  5. Student :)

    Student :) Elder - Старейшина

    Joined:
    9 Feb 2007
    Messages:
    278
    Likes Received:
    18
    Reputations:
    -15
    PHP:
    <?
    $out=Array();
    $str=$_GET['s'];
    $fl "file.txt"// файл из которого удаляем строку

    $file file($fl); //загоняем файл в массив $file

    $count count($file); //подсчитываем количество строк

    for($i=0;$i<$count;$i++) //создаём цикл, кол-во оборотов равно количиству строк в файле
    {
    if (
    trim($file[$i])=='число'){
    unset(
    $file[$i]);  

    //exit;
    }


    }
    print_r($file);

    ?>

     
    #5 Student :), 29 Jul 2009
    Last edited: 29 Jul 2009