php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.05.2005, 09:35  
Gast
 
Beiträge: n/a
Standard auf int prüfen

öhm, ich weiss, blöde frage...
aber wie kann ich per if prüfen ob $_GET[var'] ein int ist?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 24.05.2005, 09:41  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

naja ob es eine zahl ist:

is_numeric()

für nen int -> ein regex

weil is_int überprüft den datentyp und der ist bei formularen immer string
robo47 ist offline  
Alt 24.05.2005, 09:49  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard

aber man kann den doch vorher umwandeln mit int() und überprüfen ob es dann ein gülter int ist, bzw, ob die Datentypen immer noch gleich sind === oder nicht?
__________________
Aufstrebend, kompetent und werbefrei.
www.developers-guide.net
supertramp ist offline  
Alt 24.05.2005, 09:49  
Gast
 
Beiträge: n/a
Standard

ja aber wenn ich über GET das bring

xxxx.php?var=5
dann is doch 5 kein string, sondern ein int ned wa?
dann müsste es doch mit is_int gehn.
 
Alt 24.05.2005, 09:55  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Zitat:
Zitat von Julied64
xxxx.php?var=5
dann is doch 5 kein string, sondern ein int ned wa?
Nein, es ist ein String, in dem Zahlen drinstehen. Irgendwelche automagischen Typwandlungen führt PHP nicht durch.

Bei XHTML 2.0 könnte sich das ändern, wenn dann die XForms kommen, die unterstützen nämlich unterschiedliche Datentypen und liefern diese auch an PHP, was HTML-Formulare usw. noch nicht tun, die kennen nur Strings.
__________________
mod = master of disaster
Waq ist offline  
Alt 24.05.2005, 09:56  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Zitat:
Zitat von Julied64
ja aber wenn ich über GET das bring

xxxx.php?var=5
dann is doch 5 kein string, sondern ein int ned wa?
dann müsste es doch mit is_int gehn.
NEIN :P

mach mal ein var_dump($_GET['var']);
in dem script. inhaltlich ist es ein INT, aber faktisch ist die variable vom typ ein string.

@supertramp falls du an sowas denkst:


(int) $var == $var2

dachte auch das geht, aber dank des typecastings von php wird beides in einen int umgewandelt, hatte das problem auch schonmal:

http://www.phpfriend.de/forum/viewto...&highlight=int

mfg
robo47
robo47 ist offline  
Alt 24.05.2005, 10:02  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard

Zitat:
Zitat von robo47
@supertramp
nein - wenn dann mit === - nun bin ich neugierig. Ich probiere das aus und melde mich im anderen thread dazu...
__________________
Aufstrebend, kompetent und werbefrei.
www.developers-guide.net
supertramp ist offline  
Alt 24.05.2005, 10:03  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
<?php
if(preg_match("/^\d+$/"$_GET['var'])) {
 echo 
"Dies";
}else{
 echo 
"Das";
}

?>
Wobei ich jetzt net sicher bin, ob preg_match auch ein String durchgehen lässt, der nur aus Zahlen besteht. Wäre diesbezüglich für Infos dankbar.
__________________
Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
Mark Twain
Igäl ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php regexp integer prüfen, php integer prüfen, is int php

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:39 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.