Seite 1 von 1

Überprüfen ob eine Variable eine Zahl enthält

Verfasst: 07.09.2004 20:32
von JLoop©
Sorry, die Frage ist für einen PHP Profi bestimmt leicht zu beantworten, aber für mich als Noob net :D Wie kann ich per IF-Abfrage abfragen ob in einer Variablen eine Zahl ist und kein String, Text oder sowas?

Grüße JLoop

Verfasst: 07.09.2004 20:34
von DaniM

Code: Alles auswählen

<?php
$var = 2;
if(is_integer($var)) {
  echo "\$var ist eine Zahl";
} 
else
{
echo "\$var ist keine Zahl, \$var ist vom Typ gettype($var)";
}
?>
Mit freundlichen Grüßen,
Dani

Verfasst: 07.09.2004 20:39
von JLoop©
hehe bin ich dumm :oops: Ich hatte es mit diesem probiert und gerätselt warums net ging:

if(integer($var))

Vielen Dank für die Denkhilfe :D 8)

Grüße JLoop

Verfasst: 07.09.2004 20:47
von Elo

Code: Alles auswählen

if (preg_match('/\d{1}/', $Deine_Varable)) {
        echo "Es sind tatsächlich nur Zahlen in der Variablen";
}else{
       echo "Nö, nicht nur Zahlen";
}

Verfasst: 07.09.2004 20:49
von JLoop©
Öhm welche Version ist denn besser?

Verfasst: 07.09.2004 20:54
von DaniM
JLoop© hat geschrieben:Öhm welche Version ist denn besser?
Du willst doch nur überprüfen ob eine Zahl oder ein Text (String) in der Variablen enthalten ist, oder nicht?
Dann nimm diese Variante, meine erste könnte einen Fehler aufbringen:

Code: Alles auswählen

<?php
$var = 2.1;
if(is_integer($var) OR is_float($var) OR is_double($var)) {
  echo "Eine Zahl";
}
else
{
 echo "Etwas anderes";
}
?>
Mit freundlichen Grüßen,
Dani

Verfasst: 07.09.2004 21:41
von Elo
Oder ganz einfach :o

Code: Alles auswählen

echo is_numeric($val);

Verfasst: 11.09.2004 03:28
von Yann
Hehe, ich liebe es, Haare zu spalten. :-)

Elos Code:

Code: Alles auswählen

$Deine_Varable = "Es geht um 1 falsch getippte Varable";
if (preg_match('/\d{1}/', $Deine_Varable)) {
        echo "Es sind tatsächlich nur Zahlen in der Variablen";
}else{
       echo "Nö, nicht nur Zahlen";
}
# Ergibt: "Es sind tatsächlich nur Zahlen in der Variablen"
Wie wäre es mit:

Code: Alles auswählen

$Deine_Varable = "Es geht um 1 falsch getippte Varable";
if (preg_match('/^\d+$/', $Deine_Varable)) {
        echo "Es sind tatsächlich nur Zahlen in der Variablen";
}else{
       echo "Keine oder nicht nur Zahlen";
}
# Ergibt: "Keine oder nicht nur Zahlen"
Aber zugegebenermaßen sollte die Funktion"is_numeric" hier die erste Wahl darstellen. :-)

Ciao,

Yann