Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]odwołanie do funkcji
Forum PHP.pl > Forum > Przedszkole
neo1986kk
Witam, na wstępie chciałbym zaznaczyć, że domyślam się, że to o co pytam jest banalnie proste... No cóż w każdym razie ja nie mam pojęcia jak to zrobić.

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


moje pytanie brzmi: jak odwołac się do tej funkcji?

ja wymyśliłem coś takiego:
  1. zamien(234);


wiem, że to śmieszne...
cojack
  1. $liczba = 123;
  2. $objSlowanie = new slownie;
  3. $zmienionaLiczba = $objSlownie->pokaz($liczba);
  4. echo $zmienionaLiczba;
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.