Задача 44. В заданном текстовом файле элементами слов могут быть как буквы, так и цифры. Вывести слово, содержащее наибольшее количество цифр.
<?php /* Задача 44. В заданном текстовом файле элементами слов могут быть как буквы, так и цифры. Вывести слово, содержащее наибольшее количество цифр. */ // Словом будем называть набор символов, разделенный от другого набора знаком пробела // прочитать содежимое текстового файла в переменную $row_data = file_get_contents('test1.txt'); // извлечь из текста слова и занести в массив $arr_data = explode(' ', $row_data); $word_num = array(); $word_num['word'] = array(); $word_num['count'] = array(); foreach($arr_data as $w) { $flag = false; foreach($word_num['word'] as $w2) if($w == $w2) { $flag = true; continue; } if (!$flag){ $count = is_num($w); if($count>0) { $word_num['word'][] = $w; $word_num['count'][] = $count; } } } echo "<p>Слова с цифрами:<br>"; foreach($word_num['word'] as $w) echo $w, "<br>"; $max = $word_num['count'][0]; $index[] = 0; $n = count($word_num['count']); for($i=0; $i < $n; $i++) { $w = $word_num['count'][$i]; if($w > $max) $max = $w; } echo "<p>Слово с наибольшим количеством цифр:<br>"; for($i=0; $i < $n; $i++) { if($word_num['count'][$i] == $max) echo $word_num['word'][$i], "<br>"; } // функция для подсчета количества цифр в слове function is_num($var) { $count = 0; for ($i=0;$i<strlen($var);$i++) { $ascii_code=ord($var[$i]); if ($ascii_code >=48 && $ascii_code <=57) $count++; } return $count; } ?>