Nette bir fonksiyon buldum ancak,PHP konusunda pek fazla bilgi sahibi olmadığımdan olsa gerek, fonksiyonda hatavar ama bulup düzeltemedim.
Kod: Tümünü seç
function number2text($number)
{
if (!is_int($number)) {
return 0;
}
else {
$number = number_format($number, 0, ',', ' ');
$numbers = explode(' ', $number);
$cnt = count($numbers);
$ara = array("bin", "milyon", "milyar");
// maksimum seviye milyar…
$sayi = array("bir", "iki", "üç", "dört", "beş", "altı", "yedi", "sekiz", "dokuz"); // tek hane
$sayi2 = array("on", "yirmi", "otuz", "kırk", "elli", "altmış", "yetmiş", "seksen", "doksan"); // çifthane
$i = $cnt - 2;
$j = 0;
while ($j < $cnt) {
$a = $numbers[$j];
$a1 = $a{0};
$a2 = $a{1};
$a3 = $a{2};
if ($a >= 100) {
if ($a1 < 2) {
$return .= 'yüz '; // yüzlük hanesi
}
else {
$return .= $sayi[$a1-1] . ' yüz ';
}
$return .= $sayi2[$a2-1];
$return .= $sayi[$a3-1];
}
elseif (10 < $a && $a < 100) {
$return .= $sayi2[$a1-1];
$return .= $sayi[$a2-1];
}
else {
$return .= $sayi[$a1-1];
}
$return .= ' ' . $ara[$i] . ' ';
$i–;
$j++;
}
return $return;
}
}
print(number2text(152985));
?>
Notice: Undefined variable: return in c:\inetpub\wwwroot\phptest\test.php on line 24
Notice: Undefined variable: i– in c:\inetpub\wwwroot\phptest\test.php on line 41
Notice: Undefined variable: i– in c:\inetpub\wwwroot\phptest\test.php on line 41
yüz elliiki bin dokuz yüz seksenbes bin
şeklinde mesaj veriyor sonda çıktıyı veriyor ancak çıktıda yanlış.
Teşekkürler.