Thomas Meinike: Datentyp aus Formular überprüfen

Beitrag lesen

Hallo André,

PHP übergibt alle Werte aus einem Formular als Strings, also auch ganze Zahlen wie 43.

Nun ist mir heute aufgefallen, daß man nicht 100% testen kann, ob eine ganze Zahl, also Integer, übergeben wurde.

$input kommt immer aus einem Formular

$input = 10;
gettype($input); // gibt "string" zurück

Nach langem rumtesten sind mir nur noch reguläre Ausdrücke zum testen eingefallen, also ob nur 0-9 vorkommt.

String in Zahl wandeln und dann diese Zahl wieder als String abbilden und die beiden Strings vergleichen:

<?php

$test1="43";
$test2=(int)$test1;
if((string)$test2==$test1)
{
print "$test1=$test1 ist eine Zahl\n";
}
else
{
print "$test1=$test1 ist keine Zahl\n";
}

?>

Bei "43" wird eine Zahl erhalten, bei "43a" nicht.

MfG, Thomas