Задача 43. В заданном текстовом файле найти самое короткое слово и вывести все гласные буквы (без повторений), которые встречаются в этом слове.
<?php /* Задача 43. В заданном текстовом файле найти самое короткое слово и вывести все гласные буквы (без повторений), которые встречаются в этом слове. */ // Словом будем называть набор символов, разделенный от другого набора знаком пробела // массив гласных букв $arr_vowel = array('а','у','о','ы','и','э','я','ю','ё','е'); // прочитать содежимое текстового файла в переменную $row_data = file_get_contents('test1.txt'); // извлечь из текста слова и занести в массив $arr_data = explode(' ', $row_data); $min = strlen($arr_data[0]); foreach($arr_data as $w) { $word_length = strlen($w); if($word_length < $min) $min = $word_length; } foreach($arr_data as $w) if(strlen($w) == $min) $shortest_word[] = $w; //удаление дубликатов в массиве коротких слов $shortest_word = array_unique($shortest_word); echo "<p>Самое короткое слово:<br>"; foreach($shortest_word as $w) echo $w, "<br>"; foreach($shortest_word as $w) { $arr_vowel2 = array(); $w = strtolower($w); $n = strlen($w); foreach($arr_vowel as $vowel) for($i=0; $i<$n; $i++) if($w[$i]==$vowel) { $arr_vowel2[] = $vowel; break; } echo "<p>Гласные буквы в слове '$w': "; echo (count($arr_vowel2)>0) ? implode(", ", $arr_vowel2) : "(нет)"; unset($arr_vowel2); } ?>