Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Int -> String[tablicowo] problemy
Forum PHP.pl > Forum > Przedszkole
rafalp
  1. <?php
  2. $licznik = 102;
  3.  
  4.  
  5. function Koncowka($s)
  6. {
  7. $s = chr($s);
  8. $n = strlen($s);
  9. return $s[$n-1];
  10. }
  11.  
  12.  
  13. $koncowka = Koncowka($licznik);
  14. if($koncowka=='2' OR $koncowka=='3' OR $koncowka=='4')
  15.    $osoby = 'osoby';
  16. else
  17.    $osoby = 'osób';
  18. ?>



Nie działa, tzn liczby nie konwertuje automatycznie na stringa zeby móc wyciągać [] znak ostatni tablicowo. Wie ktoś może dlaczego?
Maxik
Jeśli chcesz wyciagnąć ostatni element tablicy, użyj end" title="Zobacz w manualu PHP" target="_manual
gox
  1. <?php
  2. function Koncowka($s)
  3. {
  4. return $s[strlen($s)]; // tak
  5. return $s{strlen($s)}; // albo tak
  6. return substr($s, -1); // albo tak
  7. }
  8. ?>
rafalp
Maxik: Problem w tym ze nie konwertuje mi liczby tak zebym mógł dostac sie do poszczególnych elementów tak jak w stringu

mam $a=123

i chce znaleść wartość ostatnią poprzez $last = $a[2];

Gościu: działa - ale tylko ostatni sposób
  1. <?php
  2. return substr($s, -1);
  3. ?>


nie dziwne?
bigZbig
Nie bo zamiast
Kod
return $s[strlen($s)];

powinno być
Kod
return $s[strlen($s) -1];
gox
wlasnie wlasnie, strlen -1 ;p
gox
chcialem jeszcze dodac, ze ostatnio bawilem sie w benchmarki tych 3 sposobow i najszybciej wyszlo z [], {} bylo prawie 2x wolniejsze, a substr juz w ogole.... oczywiscie doliczajac czas wykonywania strlen() moze sie okazac, ze to wlasnie substr bedzie najszybszy smile.gif.
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.