Мисоли 43. Дар файли матнии додашуда калимаи кӯтоҳтаринро ёбед ва чоп намоед. Ҳамаи ҳарфҳои садонокеро, ки дар ин калима ҳастанд, ёфта, чоп намоед (бе такрорёбӣ).
<?php
// Калима гуфта маҷмӯи рамзҳоеро меномем, ки
// аз дигар маҷмӯъ бо рамзи пробел ҷудо карда шудааст.
// массиви ҳарфҳои садонок
$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);
}
?>