Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Сравнение строк в php (http://forum.oszone.net/showthread.php?t=276104)

dimona55 20-01-2014 11:28 2292639

Сравнение строк в php
 
Здравствуйте ув. форумчане. Прочитав кучу информации так и не смог додумать. Собственно:
Имеется файл csv с разделителями запятыми, в случае появления в строке 0.0000 необходимо именно эту строку скопировать в новый файл. Сам файл огромный.
Вот пример внутренности файла

"test,""traffic"",2014/01/06,09:55,1388994900, 3089.5270, 7443.9392, 4116.2116, 19661.7698"
"test,""traffic"",2014/01/06,10:00,1388995200, 4820.3930, 15529.6832, 4820.3930, 15529.6832"
"test,""traffic"",2014/01/06,10:05,1388995500, 4746.0654, 6845.8629, 4820.3930, 15529.6832"
"test,""traffic"",2014/01/13,07:20,1389590400, 0.0000, 0.0000, 0.0000, 0.0000"
"test,""traffic"",2014/01/13,07:25,1389590700, 0.0000, 0.0000, 0.0000, 0.0000"
"test,""traffic"",2014/01/13,07:30,1389591000, 0.0000, 0.0000, 0.0000, 0.0000"

Заранее благодарю!

dimona55 20-01-2014 15:13 2292752

Собственно решение :) еще один вопрос как сделать так что б имя файла было "test", которое будет всегда меняться

<?php
// загонмим файл в массив
$general = file ( 'a.txt' );

// в $content - все строки файла
$lines = count ($general) ;

// новые данные
$content = "";

// в цикле прогоняем все строки
for ( $i = 0; $i < $lines; $i++ ){
// $general[$i] - это каждая строка

// если в строке нашли 0.0000, то добавлем уту строку в $content
if(preg_match("~0\.0000~", $general[$i]) ) {
$content .= $general[$i];
}

}

// пишем это в новый файл
$fp = fopen ( "new.txt", "w" );
if($fp){
fwrite ($fp, $content);
fclose($fp);
}

// в фале "new.txt" все строки из файла 'a.txt', в которых есть 0.0000
?>

Iska 20-01-2014 16:53 2292817

Цитата:

Цитата dimona55
Сам файл огромный. »

Цитата:

Цитата dimona55
Собственно решение
Код:

// загонмим файл в массив
»

Если верно первое — то это не решение, а издевательство. Работайте с файлом как с базой данных.

Sham 20-01-2014 20:21 2292993

да, лучше построчно fgetcsv/fputcsv или fgets/fwrite


Время: 20:15.

Время: 20:15.
© OSzone.net 2001-