![]() |
Сравнение строк в 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" Заранее благодарю! |
Собственно решение :) еще один вопрос как сделать так что б имя файла было "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 ?> |
|
да, лучше построчно fgetcsv/fputcsv или fgets/fwrite
|
Время: 20:15. |
Время: 20:15.
© OSzone.net 2001-