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