Задача 45. В заданном текстовом файле элементами слов могут быть как буквы, так и цифры. Вывести на экран слово, содержащее наибольшее количество букв.
<?php /* Задача 45. В заданном текстовом файле элементами слов могут быть как буквы, так и цифры. Вывести на экран слово, содержащее наибольшее количество букв. */ // Словом будем называть набор символов, разделенный от другого набора знаком пробела $letters = array('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я'); // прочитать содержимое текстового файла в переменную $row_data = file_get_contents('test1.txt'); // извлечь из текста слова и занести в массив $arr_data = explode(' ', $row_data); foreach($arr_data as $w) { $count = is_letter($w, $letters); if($count > 0) { $word['word'][] = $w; $word['count'][] = $count; } } $max = $word['count'][0]; $index[] = 0; $n = count($word['count']); for($i=0; $i < $n; $i++) { $w = $word['count'][$i]; if($w > $max) $max = $w; } echo '<p>Слово с наибольшим количеством букв:<br>'; for($i=0; $i < $n; $i++) { if($word['count'][$i] == $max) echo $word['word'][$i], '<br>'; } // функция для подсчета количества букв в слове function is_letter($var, &$arr) { $count = 0; for ($i=0;$i<strlen($var);$i++) { $l = strtolower($var[$i]); if(in_array($l, $arr)) $count++; } return $count; } ?>