Mailzero
6-masalaga o'zimni variantim 10 000 000 gacha sanashi kerak tekshirib korilarchi:
Kod · PHP155 qator
$birlar = array(

 0 =>  '',

 1 =>'bir',

       'ikki',

       'uch',

       'to\'rt',

       'besh',

       'olti',

       'yetti',

       'sakkiz',

        'to\'qqiz'

        );

 $onlar = array(

     0 =>  '',

     1 => 'o\'n',

     2 => 'yigirma',

     3 => 'o\'ttiz',

     4 => 'qirq',

     5 => 'ellik',

     6 => 'oltmish',

     7 => 'yetmish',

     8 => 'sakson',

     9 => 'to\'qson'

 );



$a = intval($_POST['son']);

$m = str_split(trim($a));

$s= count($m);

if($s == 1){                                  //1-9

    $chiq = $birlar[$a];

}elseif($s == 2){  //10-99

  $oni = $m[0];

  $biri = $m[1];

  $chiq = $onlar[$oni].' '.$birlar[$biri];

}elseif($s == 3){                            //100-999

    $yuzi = $m[0];

    $yuzi = $birlar[$yuzi].' yuz';

  $oni = $m[1];

  $biri = $m[2];

  $chiq = $yuzi.' '.$onlar[$oni].' '.$birlar[$biri];

}elseif($s == 4){                           //1000-9999

       $mingi = $m[0];

       $mingi = $birlar[$mingi].' ming';

       $yuzi = $m[1];

       $yuzi = ($birlar[$yuzi] == '' ? '' : $birlar[$yuzi].' yuz');

       $oni = $m[2];

       $biri = $m[3];

       $chiq = $mingi.' '.$yuzi.' '.$onlar[$oni].' '.$birlar[$biri];

}elseif($s == 5){                         //10000-99999

         $onmingi = $onlar[$m[0]] .' '. $birlar[$m[1]].' ming';

        $yuzi = $m[2];

        $yuzi = ($birlar[$yuzi] == '' ? '' : $birlar[$yuzi].' yuz');

        $oni = $m[3];

        $biri = $m[4];

        $chiq = $onmingi.' '.$yuzi.' '.$onlar[$oni].' '.$birlar[$biri];

}elseif($s == 6){                         //100 000-999 999

        $ym = $birlar[$m[0]].' yuz '.$onlar[$m[1]] .' '.$birlar[$m[2]].' ming';

        $yuzi = $m[3];

        $yuzi = ($birlar[$yuzi] == '' ? '' : $birlar[$yuzi].' yuz');

        $oni = $m[4];

        $biri = $m[5];

        $chiq = $ym.' '.$yuzi.' '.$onlar[$oni].' '.$birlar[$biri];

}elseif($s == 7){                         //1 000 000-9 999 999

        $mln = $birlar[$m[0]].' million';

        if($m[1] != 0){

          $ym = $birlar[$m[1]].' yuz '.$onlar[$m[2]] .' '.$birlar[$m[3]].' ming';

        }

        $yuzi = $m[4];

        $yuzi = ($birlar[$yuzi] == '' ? '' : $birlar[$yuzi].' yuz');

        $oni = $m[5];

        $biri = $m[6];

        $chiq = $mln.' '.$ym.' '.$yuzi.' '.$onlar[$oni].' '.$birlar[$biri];

}

echo '<h3>'.$a.'</h3><h2>'.$chiq.'</h2>';

 echo'<form method="POST">

<input type="number" name="son">

<input type="submit" name="ok" value="Sanash">

</form> ';

Eng qizig'i buni yanayam kodlarni soddalashtirish mumkin ekan kimda osonroq yechim bo'lsa joylanglar...