Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   поиск в массиве (https://forum.antichat.xyz/showthread.php?t=132013)

Student :) 29.07.2009 22:39

поиск в массиве
 
Привет всем!!!

есть файл 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

Gifts 29.07.2009 22:42

Student :) Незачем создавать сто топиков, для подобных вопросов есть специальная тема: https://forum.antichat.ru/thread40896.html

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

Student :) 29.07.2009 22:47

Спасибо! забыл что там идёт перевод строки :)

а какбы потом удалить эту строку из файла ? :)

mailbrush 29.07.2009 22:59

1. Используй цикл foreach, ф-цию array_map.
2. Чтобы удалить строку из файла, надо сначала удалить требуемый элемент массива, после чего тем же циклом foreach записать массив в файл.

Student :) 29.07.2009 23:34

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);

?>



Время: 18:15