Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Typy danych - jak nad nimi panowac
Beynar
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 6.12.2007

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


Macie moze jakies wlasne metody do zapamowania nad typami danych? Moze z jednej strony to dobre, ze w php nie trzeba sztywno deklarowac zmiennych i same się konwertują w niektorych okoliczonsciach ale czasem to sprawia problemy i nie wiemy czy to np. integer czy string.

Konkretnie mam teraz problem z danymi pochodzacymi z formularza. Form zawsze zwroci mi string a ja mam tam pola ktore sa przeznaczone jednoznacznie na wartosci liczbowe.
Przy odbiorze tych danych wszystko konwertowac funkcja settype?
Nie macie na to opracowanych jakichs sprawdzonych sposobow?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Beynar
post
Post #2





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 6.12.2007

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


  1. <?
  2. // ustawiamy zmienna
  3. $string="vfd67vfd9.43";
  4. echo "<p>ustawiamy wartosc string: \"".$string."\"</p>";
  5.  
  6. //ustawiamy jej typ na int
  7. echo " ustawiamy jej typ na int";
  8. $a=settype($string, "int");
  9.  
  10. if($a===true)
  11. echo "<p>settyp zwraca bool true</p>";
  12. else if($a===false)
  13. echo "<p>settype zwraca bool false</p>";
  14.  
  15. // teraz badamy ustawiony typ zmiennej
  16. if(is_string($string))
  17. echo "<p>string dalej jest stirngiem</p>";
  18. else if (is_int($string))
  19. echo "<p>string teraz jest liczba calkowita</p>";
  20.  
  21. echo "<p>wartosc zmiennej to: \"".$string."\"</p>";
  22. ?>


Przyklad wydrukuje:
Cytat
ustawiamy wartosc string: "vfd67vfd9.43"
ustawiamy jej typ na int
settyp zwraca bool true
string teraz jest liczba calkowita
wartosc zmiennej to: "0"


kowersja stringu vfd67vfd9.43 do int 0 mozna uznac za true? Tak zwraca settype choć:
Cytat
Zwraca TRUE w przypadku sukcesu, FALSE w przypadku porażki.
http://pl2.php.net/manual/pl/function.settype.php
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 - 12:46