Мисоли 45. Дар файли матнии додашуда дар таркиби калимаҳо ҳам ҳарфҳо ва ҳам рақамҳо буда метавонанд. Калимаеро, ки миқдори зиёдтарини ҳарфҳоро соҳиб аст, чоп намоед. Агар чунин калима якчандто бошад, ҳамаашонро чоп намоед.

<?php
// Калима гуфта маҷмӯи рамзҳоеро меномем, ки 
// аз дигар маҷмӯъ бо рамзи пробел ҷудо карда шудааст.

$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;
}

?>