Задача 42. В заданном текстовом файле найти и вывести все согласные буквы (без повторений), которые встретились в самом длинном слове.
<?php
/*
Задача 42. В заданном текстовом файле найти и вывести все согласные буквы (без повторений), которые встретились в самом длинном слове.
*/
// Словом будем называть набор символов, разделенный от другого набора знаком пробела
// массив согласных букв
$arr_consonant = array('б','в','г','д','ж','з','й','к','л','м','н','п','р','с','т','ф','х','ц','ч','ш','щ');
// прочитать содежимое текстового файла в переменную
$row_data = file_get_contents('test1.txt');
// извлечь из текста слова и занести в массив
$arr_data = explode(' ', $row_data);
$max = strlen($arr_data[0]);
foreach($arr_data as $w) {
$word_length = strlen($w);
if($word_length > $max)
$max = $word_length;
}
echo "<p>Самое длинное слово:<br>";
foreach($arr_data as $w)
if(strlen($w) == $max) {
$longest_word[] = $w;
echo $w, "<br>";
}
foreach($longest_word as $w) {
$arr_consonant2 = array();
$w = strtolower($w);
$n = strlen($w);
foreach($arr_consonant as $consonant)
for($i=0; $i<$n; $i++)
if($w[$i]==$consonant) {
$arr_consonant2[] = $consonant;
break;
}
if(isset($arr_consonant2)) {
echo "<p>Согласные буквы в слове '$w': ", implode(", ", $arr_consonant2);
unset($arr_consonant2);
}
}
?>