Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Funkcja is_int nie rozponaje cyfry jako cyfry
Bojakki
post
Post #1





Grupa: Zarejestrowani
Postów: 379
Pomógł: 0
Dołączył: 18.08.2004

Ostrzeżenie: (0%)
-----


Mam funkcję:

  1. public function int()
  2. {
  3. if (strlen($this->_data) > 0){
  4. if(is_int($this->_data))
  5. {
  6. $this->reportTrue($this->_data);
  7. return true;
  8. } else {
  9. $this->reportFalse($this->_data);
  10. return false;
  11. }
  12. }else{
  13. $this->reportTrue($this->_data);
  14. return true;
  15. }
  16. }


Słuzy ona do sparwdzania pola w formularzu. Powinna zwracac true gdy pole jest puste lub gdy jest tam wpisana liczba całkowita. Problem jest taki, że wpisując w pole formularza liczbę np. "10" zwraca false. Myślałem, że może coś tam się przywłóczyło razem z cyfrą z formularza (jakas spacja czy cos). Licze liczbę znaków w tym stringu - wychodzi 2, biore by w raporcie wypluowało wpisaną cyfrę pod zmienną $this->_data, wyskakuje 10, mimo tego pokazuję tę 10 jako false, czyli nie int.

Jak wezme jednak przefiltruje tę zmienna $this->_data intvalem to jest OK, gdy wpiszę zamiast

  1. if(is_int($this->_data))


  1. if(is_int(10))


też jest OK,a przecież $this->_data to jest właśnie "10" z formularza.

Ten post edytował Bojakki 14.11.2011, 22:35:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Bojakki
post
Post #2





Grupa: Zarejestrowani
Postów: 379
Pomógł: 0
Dołączył: 18.08.2004

Ostrzeżenie: (0%)
-----


O dziwo teraz działa. Zmieniłem is_int na ctype_digit i otrzymałem działanie jakie planowałem. W przykładzie funkcji jets napisane:
  1. <?php
  2.  
  3. $numeric_string = '42';
  4. $integer = 42;
  5.  
  6. ctype_digit($numeric_string); // true
  7. ctype_digit($integer); // false
  8.  
  9. is_numeric($numeric_string); // true
  10. is_numeric($integer); // true
  11. ?>


i nie byłem pewien czy zadziała, ale kombinuje różne warianty i przechodzą tylko całkowite dodatnie lub puste pole. Troche paranormalne dla mnie.

Ten post edytował Bojakki 14.11.2011, 23:32:52
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 08:34