Kod · PHP211 qator
<?php
function sanash($number) {
static $dic = array(
array(
1=> 'bir',
2=> 'ikki',
3=> 'uch',
4=> 'to\'rt',
5=> 'besh',
6=> 'olti',
7=> 'yetti',
8=> 'sakkiz',
9=> 'to\'qqiz',
10=> 'o\'n',
11=> 'o\'nbir',
12=> 'o\'nikki',
13=> 'o\'nuch',
14=> 'o\'nto\'rt' ,
15=> 'o\'nbesh',
16=> 'o\'nolti',
17=> 'o\'nyetti',
18=> 'o\'nsakkiz',
19=> 'o\'nto\'qiz',
20=> 'yigirma',
30=> 'o\'ttiz',
40=> 'qirq',
50=> 'elik',
60=> 'oltmish',
70=> 'yetmish',
80=> 'sakson',
90=> 'qo\'qson',
100=> 'yuz',
200=> 'ikkiyuz',
300=> 'uchyuz',
400=> 'to\'tyuz',
500=> 'beshyuz',
600=> 'oltiyuz',
700=> 'yrttiyuz',
800=> 'sakkizyuz',
900=> 'to\'qizyuz'
),
);
$string = array();
$number = str_pad($number, ceil(strlen($number)/3)*3, 0, STR_PAD_LEFT);
$parts = array_reverse(str_split($number,3));
foreach($parts as $i=>$part) {
if($part>0) {
$digits = array();
if($part>99) {
$digits[] = floor($part/100)*100;
}
if($mod1=$part%100) {
$mod2 = $part%10;
$flag = $i==1 && $mod1!=11 && $mod1!=12 && $mod2<3 ? -1 : 1;
if($mod1<20 || !$mod2) {
$digits[] = $flag*$mod1;
} else {
$digits[] = floor($mod1/10)*10;
$digits[] = $flag*$mod2;
}
}
$last = abs(end($digits));
foreach($digits as $j=>$digit) {
$digits[$j] = $dic[0][$digit];
}
$digits[] = $dic[1][$i][(($last%=100)>4 && $last<20) ? 2 : $dic[2][min($last%10,5)]];
array_unshift($string, join(' ', $digits));
}
}
return join(' ', $string);
}
sanash(25);
if(isset($_POST['sanash'])){
$sanoq = $_POST['sonlar'];
echo'<b>'.$sanoq.'</b> - '; echo sanash($sanoq);
}
echo'<form name="form" action="" method="POST">
Sanaladigan sonni yozing:<br>
<input type="number" name="sonlar" required><br>
<input name="sanash" type="submit" value="Sanash">
</form>';
?>