CSVReader

Run Settings
LanguagePHP
Language Version
Run Command
<?php //Класс для чтения файла class CSVReader { //Переменная для хранения прочитанного файла, private - чтобы не было возможности внести изменения извне private $csv = array(); //Функция import читает файл, записывает данные в массив, сортирует его, возвращает первые 5 элементов, в случае неудачи возвращает FALSE public function import($file) { if($this->readFileToArray($file)) { return false; }; if($this->sortByPrice()) { return false; }; return array_slice($this->csv,0,5,TRUE); } //Функция сортировки, в случае неудачи возвращает FALSE private function sortByPrice() { return usort($this->csv,function ($a,$b) { if($a['Price'] == $b['Price']) { return 0; } return ($a['Price'] < $b['Price']) ? -1 : 1; }); } //Функция, читающая файл, и записывающая данные в массив, в случае неудачи возвращает FALSE private function readFileToArray($file) { $header = array(); $row=0; if(($handle=fopen($file,'r'))==FALSE) { return false; }; while(($data=fgetcsv($handle))!==FALSE) { if($row==0) { $header=$data; } else { $toCsv=array(); for($i=0;$i<count($data);$i++) { $toCsv[$header[$i]]= $data[$i]; }; $this->csv[]=$toCsv; }; ++$row; }; } } ?>
Id,Price,Name,Tax 1,12,First , 2,432,Second,1 3,865,3rd,1 4,345,4th,1 5,765,December, 6,453,May, 7,349,xcart, 8,111,opencart,0 9,10234,typical case,0 10,8,45-23,0
Editor Settings
Theme
Key bindings
Full width
Lines