dedlfix: Ist die Variable eine Ziffer?

Beitrag lesen

echo $begrüßung;

Wie kann ich überprüfen, ob eine Zeichenkette eine Ziffer ist? Also nur aus den Zeichen 0-9 entsteht?

is_int()/is_interger() ist dafür nicht geeignet, da damit nur der Typ einer Variable, aber nicht deren Inhalt überprüft wird.

is_numeric() prüft zwar den Inhalt, erkennt aber auch Fließkommazahlen als gültig an.

Ein Regex ist schon fast mit Kanonen auf Spatzen geschossen.

ctype_digit() macht das was du willst mit dem geringsten Aufwand. Das übergebene Argument muss dann aber auch vom Typ string sein. Notfalls hilft da ein expliziter Typecast nach:

$is_digits = ctype_digit( (string) 123);

echo "$verabschiedung $name";