Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak wywołać obiekt ?
Forum PHP.pl > Forum > Przedszkole
lled3
  1. <?
  2.  
  3. class slownie
  4. {
  5.  
  6. function zamien ($mnoznik="1",$liczba)
  7. {
  8. $cyfra_1=", jeden, dwa, trzy, cztery, pięć, sześć, siedem, osiem, dziewięć,
  9. dziesięć, jedenaście, dwanaście, trzynaście, czternaście, piętnaście,
  10. szesnaście, siedemnaście, osiemnaście, dziewiętnaście";
  11. $cyfra_2=",, dwadzieścia, trzydzieści, czterdzieści, pięćdziesiąt,
  12. sześćdziesiąt, siedemdziesiąt, osiemdziesiąt, dziewięćdziesiąt";
  13. $cyfra_3=", sto, dwieście, trzysta, czterysta, pięćset, sześćset, siedemset,
  14. osiemset, dziewięćset";
  15. $cyfra1=explode(",",$cyfra_1);
  16. $cyfra2=explode(",",$cyfra_2);
  17. $cyfra3=explode(",",$cyfra_3);
  18. unset($cyfra_1);
  19. unset($cyfra_2);
  20. unset($cyfra_3);
  21.  
  22. $l_p=floor($liczba/100/$mnoznik); //<- czyli mnożenie bez reszty!
  23. if ($l_p>0)
  24. {
  25. $wyswietl.=$cyfra3[$l_p];
  26. $liczba-=$l_p*100*$mnoznik;
  27. }
  28. unset($l_p);
  29. $l_p=floor($liczba/10/$mnoznik); //<- czyli mnożenie bez reszty!
  30. if ($l_p>1)
  31. {
  32. $wyswietl.=$cyfra2[$l_p];
  33. $liczba-=$l_p*10*$mnoznik ;
  34. }
  35. unset($l_p);
  36. $l_p=floor($liczba/$mnoznik); //<- czyli mnożenie bez reszty!
  37. if ($l_p>0)
  38. {
  39. $wyswietl.=$cyfra1[$l_p];
  40. }
  41. unset($l_p);
  42. return $wyswietl;
  43. }
  44. ///koniec funkcji zamień.
  45.  
  46. function fleksja($tabela="1",$mnoznik,$liczba)
  47. {
  48. $cyfra_1=", tysiąc, tysiące, tysięcy";
  49. $cyfra_2=", milion, miliony, milionów";
  50. $cyfra_3=", złoty, złote, złotych";
  51. $cyfra_4=", grosz, grosze, groszy";
  52. $cyfry[1]=explode(",",$cyfra_1);
  53. $cyfry[2]=explode(",",$cyfra_2);
  54. $cyfry[3]=explode(",",$cyfra_3);
  55. $cyfry[4]=explode(",",$cyfra_4);
  56. unset($cyfra_1);
  57. unset($cyfra_2);
  58. unset($cyfra_3);
  59. unset($cyfra_4);
  60. $l_p4=floor($liczba/$mnoznik);
  61. if (strlen($l_p4)>0 )
  62. {
  63. $l_p=floor($liczba/$mnoznik);
  64. $l_p=substr($l_p,strlen($l_p)-1);
  65. }
  66. if (strlen($l_p4)>1)
  67. {
  68. $l_p2=floor($liczba/$mnoznik);
  69. $l_p2=substr($l_p2,strlen($l_p2)-2,1);
  70. }
  71. if (strlen($l_p4)>2)
  72. {
  73. $l_p3=floor($liczba/$mnoznik);
  74. $l_p3=substr($l_p3,strlen($l_p3)-3,1);
  75. }
  76. if ($l_p==1 && (!$l_p2 or $l_p2==0) && (!$l_p3 or $lp_3==0))
  77. {
  78. return $cyfry[$tabela][1];
  79. }
  80. else if($l_p==1 && ($l_p2<>0 or $l_p3<>0) )
  81. {
  82. return $cyfry[$tabela][3];
  83. }
  84. else if ($l_p>1 && $l_p<5 && $l_p2<>1)
  85. {
  86. return $cyfry[$tabela][2];
  87. }
  88. else if($l_p>1 && $l_p<5 && $l_p2==1 )
  89. {
  90. return $cyfry[$tabela][3];
  91. }
  92. else if($l_p>4 or ($l_p==0 && ($l_p2>0 or $l_p3>0)))
  93. {
  94. return $cyfry[$tabela][3];
  95. }
  96. }
  97. ///koniec funkcji fleksja
  98.  
  99. function pokaz($liczba)
  100. {
  101. $liczba=number_format($liczba,2, '.', '');
  102. $do_zamiany=explode(".",$liczba);
  103. if ($do_zamiany[0]>0)
  104. {
  105. $slownie.=$this->zamien(1000000,$do_zamiany[0]);
  106. $slownie.=$this->fleksja(2,1000000,$do_zamiany[0]);
  107. $do_zamiany[0]%=1000000;
  108. $slownie.=$this->zamien(1000,$do_zamiany[0]);
  109. $slownie.=$this->fleksja(1,1000,$do_zamiany[0]);
  110. $do_zamiany[0]%=1000;
  111. $slownie.=$this->zamien(1,$do_zamiany[0]);
  112. $slownie.=$this->fleksja(3,1,$do_zamiany[0]);
  113. }
  114. if ($do_zamiany[1]>0)
  115. {
  116. $slownie.=$this->zamien(1,$do_zamiany[1]);
  117. $slownie.=$this->fleksja(4,1,$do_zamiany[1]);
  118. }
  119. return $slownie;
  120. }
  121. }
  122.  
  123. $klasa_slownie=new slownie;
  124. return $klasa_slownie->pokaz(1,22);
  125.  
  126. ?>


taki kod NIC nie wyświetla sad.gif
Dlaczego ?
marcio
Jak juz wywolujesz metode klasy wypadaloby dac echo/print zamiast return ale to szczegol a ta klasa to jakis potwor:]
lled3
czemu "jakiś potwór" smile.gif?
Fifi209
Cytat(lled3 @ 8.07.2010, 08:41:50 ) *
czemu "jakiś potwór" smile.gif?

Bo jest napisana w taki sposób... hmm nieczytelny?
btw. pisz klasy zgodnie z PHP5 winksmiley.jpg
a liczby nie przekazuj jako stringi
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.