strlen($b['mail'])) return 1; else return 0; } // компаратор по email ключа ассоциативного массива function CompareMailArray($a,$b){ if (strlen(key($a)) > strlen(key($b))) return 1; else return 0; } // компаратор по дате регистрации function CompareByDate($a, $b){ if (strtotime($a['Date']) > strtotime($b['Date'])) return 1; else return 0; } // проверка на принадлежность к зоне .com function CheckIfCom($a){ if(strpos($a['mail'], '.com') !== false) return true; else return false; } // своя функция для вывода вектора векторов, внешний вектор numeric function DataOutput($array){ $string = ""; for($i = 0; $i < count($array); $i++) { $string = $string.""; $string = $string.""; $string = $string.""; $string = $string.""; $string = $string.""; $string = $string.""; } $string = $string."
".$array[$i]["mail"]."".$array[$i]["FIO"]."".$array[$i]["Date"]."".$array[$i]["address"]."
"; echo $string; } // функция для array_map function DataOutputAM($foo){ return "".$foo.""; } // возвращает массив с файлами указанной директории function GetFileList(){ $iterator = glob("*.txt"); return $iterator; } // работа с файлами function GetTextFileContent($f){ $myfile = fopen($f, "r") or die ("Unable to open file!"); $resultArray; $resultArray['mail'] = fgets($myfile); $resultArray['FIO'] = fgets($myfile); $resultArray['Date'] = strtotime(fgets($myfile)); $resultArray['Date'] = date("d-m-Y",$resultArray['Date']); $resultArray['address'] = fgets($myfile); fclose($myfile); $resultArray['address'] = str_replace("http://", "", $resultArray['address']); //var_dump($resultArray['mail']); $resultArray['address'] = str_replace("www.", "", $resultArray['address']); $resultArray['address'] = "http://www.".$resultArray['address']; return $resultArray; } $fileList = GetFileList(); $users; $i = 0; foreach ($fileList as $key => $value) { $users[$i] = GetTextFileContent($value); $i++; } echo ""; for ($i = 0; $i < count($users); $i++) { echo ""; $bar = array_map('DataOutputAM', $users[$i]); foreach ($bar as $key => $value) { echo $value; } echo ""; } echo "

"; usort($users, 'CompareMail'); DataOutput($users); echo "
"; $bycom = array_filter($users, 'CheckIfCom'); $bycom = array_values($bycom); echo ""; for ($i = 0; $i < count($bycom); $i++) { echo ""; $bar = array_map('DataOutputAM', $bycom[$i]); foreach ($bar as $key => $value) { echo $value; } echo ""; } echo "

"; $arrayByMail; for ($i = 0; $i < count($users); $i++) { $arrayByMail[$users[$i]['mail']] = $users[$i]; unset($arrayByMail[$users[$i]['mail']]['mail']); } echo ""; foreach ($arrayByMail as $key => $value) { echo ""; foreach ($arrayByMail[$key] as $key1 => $value1) { echo ""; } echo ""; } echo "
".$value1."
"; echo "
"; $outputMail; foreach ($arrayByMail as $key => $value) { if(strpos($key, '.com') == false) { $outputMail[$key] = $value; } } usort($outputMail, 'CompareMailArray'); foreach ($outputMail as $key => $value) { echo ""; foreach ($outputMail[$key] as $key1 => $value1) { echo ""; } echo ""; } echo "
".$value1."

"; usort($arrayByMail, 'CompareByDate'); echo ""; foreach ($arrayByMail as $key => $value) { echo ""; foreach ($arrayByMail[$key] as $key1 => $value1) { echo ""; } echo ""; } echo "
".$value1."
"; ?>