Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Przypisanie słów liczbom.
Forum PHP.pl > Forum > Przedszkole
torbicki65
Witam
Jak w najprostszy - najszybszy sposób przypisać określone słowa liczbom?
Coś na przykładzie (tylko teoretyczny przykład, nie chodzi o liczebniki):

1,2,3,4,5,6,7,8,9 => "cyfry"
10,11,12,13,14,15,16,17,18,19,20 => "do dwudziestu"
21,22,23 => "powyżej"

Żeby uprzedzić rozwiązania z if większe/ mniejsze - nie chodzi mi o stworzenie warunku, kiedy zmienna (wyrażana liczbą) jest mniejsza lub większa i wtedy dane słowo, lecz o wybór z tablicy.
Póki co myślałem o if.. elseif z wykorzystaniem 3 tablic (każda zawierająca tylko liczby) i in_array jako warunkiem sprawdzającym.
Ale może da się coś efektywniejszego, żeby opierało się to na jednym if, a po prostu tablica była bardziej rozbudowana?
erix
array_filter?
zegarek84
o ile nie bedzie przedziału cyfr a każda cyfra ma indywidualną przynależność (nieregularną) to to poniżej powinno Ci się przydać
masz tu klasę napisaną na szybko - wywal niepotrzebne metody... można dołożyć sprawdzanie typu danych... - rozwiązane jest to w 2 tablicach w relacji 1 do wielu:
  1. class cyferki {
  2. private $nazwy=array();
  3. private $cyferki=array();
  4. function __construct() {}
  5.  
  6. public function __set($name, $value) {
  7. $this->set($name, $value);
  8. }
  9. public function set($name, $value) {
  10. $keys=array_keys($this->nazwy);$ile=count($keys);
  11. for($i=0;$i<$ile;++$i){if($keys[$i]==$value){$this->cyferki[$name]=$i;break;}}
  12. if($i==$ile){$this->nazwy[$i]=$value;$this->cyferki[$name]=$i;};
  13. }
  14. public function __get($name) {
  15. return $this->nazwy[$this->cyferki[$name]];
  16. }
  17. public function get($name) {
  18. return $this->__get;;
  19. }
  20. }
  21.  
  22.  
  23. $cyferki=new cyferki();
  24. // użycie
  25. $cyferki->{2}= 'coś';
  26. // lub jesli wolisz - ale niżej oprócz ustawiania wartości też zmieniamy przynależność - można to zablokować zależy od potrzeb
  27. $cyferki->set(2, 'coś2');
  28.  
  29. $cyferki->{4}=666666;
  30.  
  31.  
  32. // zwrócenie przynależności
  33. echo $cyferki->{2};
  34. // lub jeśli wolisz:
  35. echo $cyferki->get(4);
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.