Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dodawanie wartości do tablicy(małe litery - odświeżone)
Forum PHP.pl > Forum > Przedszkole
Kaarpiik
Witam!

W formularzu w polu input wpisuję jakiś wyraz. Chcę ten wyraz dodać do tablicy ale w ten sposób że każda literka w osobnej komórce np. Mariusz
tab[0] = M
tab[1] = a
tab[2] = r
itd.

Jak podzielić wpisany wyraz na osobne literki i przesłać w formularzu?
Kaarpiik
Dziękuje smile.gif

Jeszcze jedno małe pytanko. Jak sprawdzić czy litera jest mała (lub duża)? Przerzucam się z języka C i tam było islower albo isupper. W PHP niestety tego nie ma wink.gif
nospor
Bo PHP wymaga myślenia.

http://pl.php.net/manual/en/function.strtoupper.php
I jeśli litera po zmianie będzie różna od tej przed zmianą, znaczy że była mała.
Kaarpiik
oj w C też trzeba myśleć. Poradziłem sobie w inny sposób - po prostu zamieniłem każdą literkę na kod ASCII.

  1. for($i=0;$i<$split_size;$i++) {
  2. if(ord($split[$i]) >= 97 && ord($split[$i]) <= 122) $licznik++;
  3. }


tylko jest jeden problem.. nie dziala on na polskich znakach...
nospor
A jesli uzyjesz mb_strtoupper i uzyjesz mojej metody to zadziala
Kaarpiik
nie wiem czy dobrze zrozumiałem ale kombinuje z tym i kombinuje i nic nie wychodzi

  1. function zamiana($tablica, $rozmiar) {
  2. $licznik = 0;
  3. $i = 0;
  4.  
  5. while($i < $rozmiar) {
  6. $upper = strtoupper($tablica[$i]);
  7. if($upper) {
  8. $licznik++;
  9. }
  10. $i++;
  11. }
  12.  
  13. return $licznik;
  14. }

wywołanie funkcji:
  1. echo zamiana($split, $split_size);


Licznik zawsze zwraca liczbę elementów w tablicy - nawet gdy wszystkie litery są duże.
nospor
if($upper)
Przecież to jest zawsze PRAWDA....
Miałes porównać wartość po zmianie z wartością przed zmianą.
Kaarpiik
  1. function zamiana($tablica, $rozmiar) {
  2. $licznik = 0;
  3. $i = 0;
  4.  
  5. while($i < $rozmiar) {
  6. if(strtoupper($tablica[$i]) != $tablica[$i]) {
  7. $licznik++;
  8. }
  9. $i++;
  10. }
  11.  
  12. return $licznik;
  13. }

Dziękuję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.