Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [XML][PHP] is_numeric źle działa
Forum PHP.pl > Forum > Przedszkole
kubap007
Mam problem podczas sprawdzenia czy wartość wpisana w xml jest liczbą.

Mam coś takiego:

  1. $xml = simplexml_load_file($working_file);
  2.  
  3.  
  4. foreach ($xml->Project as $projekt)
  5. {
  6. ....
  7.  
  8. if( !is_numeric($projekt->pow_uzytkowa)) {$fl_add_record_xml=0;}
  9.  


i pomimo, iż w xmlu mam np. 200 to wywala mi flagę, że nie jest liczbą.
Crozin
No to var_dump($projekt->pow_uzytkowa) i zobacz dlaczego. wink.gif
Daimos
Cytat(Crozin @ 19.07.2011, 18:52:52 ) *
No to var_dump($projekt->pow_uzytkowa) i zobacz dlaczego. wink.gif

Ale kolega wyraźnie napisał, że is_numeric źle działa, więc zapewne sprawdzał wink.gif
Proponuję w takim wypadku zgłosić błąd php na https://bugs.php.net/
kubap007
Ok dzięki.

Teraz głupie pytanie smile.gif jak z tego string(3) "200" uzyskać "200", bo rozumiem że sposób w jaki wywołuje ten obiekt zwraca całość z pod indeksu [0].

object(SimpleXMLElement)#5 (1) { [0]=> string(3) "200" }

Daimos
możesz castować w locie do inta
czyli np:
  1. $string = '333';
  2. $int = (int) $string;
  3. var_dump($int);
  4. // ale z tym ostrożnie, bo:
  5. $string = 'bbb';
  6. $int = (int) $string;
  7. var_dump($int); // da Ci 0
  8. no i:
  9. $string = '333xxx';
  10. $int = (int) $string;
  11. var_dump($int); // da Ci 333

ewentualnie intval

  1. object(SimpleXMLElement)#5 (1) { [0]=> string(3) "200" }

toString, albo castuj też do stringa
  1. $string = (string) $tenobiekt;

is_numeric sobie radzi ze stringami, z obiektami nie wink.gif
kubap007
THX.
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.