Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odmiana "termin"
Forum PHP.pl > Forum > PHP
ActivePlayer
jak napisac odmiane wyrazu "termin" dla poszczególnych liczb... np 1 termin, 2 terminy, 22 terminy, 28 terminów...
ActivePlayer
ale mi chodzi ze powiedzmy do skryptu trafia liczba 22 a on ma poprawnie odmienic wyraz termin, (zeby pasowal do tej liczby) i go wyswietlic...
Bakus
1 termin
2-4 terminy
5-21 terminów
22-24 terminy
25-31 terminów
32 terminy
reszte wymyśl sam winksmiley.jpg

UpDated:
Lepiej wpisz:

Ilość terminów: 1
To będzie pasować do każdej liczby
ActivePlayer
musi byc x terminxxxx
mls
Hmm...

  1. <?php
  2. function odmien($ile, $str0, $str1, $str2) {
  3. if ($ile == 1) return $str1;
  4. $iled = $ile % 10;
  5. $iles = $ile % 100;
  6. if (($iled <= 1) || ($iled > 4) || ($iles > 10 && $iles < 20)) return $str0;
  7. return $str2;
  8. }
  9.  
  10. // wywołanie:
  11. // odmien($terminy, 'terminów', 'termin', 'terminy');
  12. ?>


Najpiękniejsze to to nie jest, ale działa...
Bakus
Ciekawa i faktycznie działająca koncepcja...
Co do "Najpiękniejsze to to nie jest": faktycznie... kolejność wpisywania odmian jest trochę nie naturalna, ale to już kwestia użytkowania...
Ogólnie muszę przyznać, że fajnie to napisałeś (prosto)
__phpion__
Hmmm, a nie prosciej tak? Zeby nie przekazywac w funkcji 4 patameterow bo 3 z nich i tak sa stale...
  1. <?php
  2. function odmien($ile)
  3. {
  4. $v = &#092;"\";
  5.     if ($ile == 1) $v = &#092;"termin\";
  6.     $iled = $ile % 10;
  7.     $iles = $ile % 100;
  8.     if (($iled <= 1) || ($iled > 4) || ($iles > 10 && $iles < 20)) $v = &#092;"terminow\";
  9.     $v = &#092;"terminy\";
  10.  
  11. return $v;
  12. }
  13.  
  14. // wywołanie:
  15. // odmien($terminy);
  16. ?>

?
mls
Pomyśl logicznie - po co miałbym tworzyć funkcję tylko do wyświetlania "terminów/termin/terminy"?
Funkcji tej używam do różnych odmian, stąd parametry...
__phpion__
No w sumie... :roll2:
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.