Mit welcher Funktion bekomme ich heraus, ob ein String nur aus Zahlen besteht?
Suche schon die ganze Zeit, finde die aber nciht mehr!
MfG Marcel
Mit welcher Funktion bekomme ich heraus, ob ein String nur aus Zahlen besteht?
Suche schon die ganze Zeit, finde die aber nciht mehr!
MfG Marcel
MfG Icy
vielen Dank!^^
Er möchte herausfinden, ob eine Zeichenkette nur Zahlen enthält, nicht, ob eine Variable eine Zahl ist.
Könnt’ man so machen:
[php]if( $string == strval((int)$string) )
echo „Die Zeichenkette besteht nur aus Zahlen.“;[/php]
Weiß nicht ob’s besser geht.
EDIT: Hm, ok, wenn du doch das gesucht hast
Wenn eine Zeochenkette nur aus Zahlen besteht, ist sie doch selbst auch eine Zahl (also int).
MfG Icy
[php]„123“ == 123 // True, String wird vor dem Vergleich in einen Integer Konvertiert
„123“ === 123 // False, das eine ist ein String mit Zahlen, das andere ist eine Zahl
is_int(123) // True
is_int(„123“) // False, Parameter ist ein String[/php]Ein String mit Zahlen ist somit keine Zahl.
q.e.d.
Kommt auf’s gleiche raus wie is_int(), geht nur eben auch mit Fließkommazahlen.
Aber ich hab’ gerade was nettes gefunden:
PHP: ctype_digit - Manual
so als denanstoss:
[PHP]
$a = „123“;
$b = 123;
echo $a * 1;
echo $b * 1;
[/PHP]
Abend,
is_numeric liefert auch bei Strings, die nur eine Zahl enthalten true:
[php]<?php var_dump(is_numeric('0123')); // true var_dump(is_numeric(0.123)); // true var_dump(is_numeric('0.123')); // true var_dump(is_numeric(123)); // true var_dump(is_numeric('123')); // true var_dump(is_numeric('foo')); // false ?>[/php]
liefert:
$ php test.php
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
N43
1 z.b. kann ja z.b. bool, string (char), int char sein.
is_numeric legt keinen wert auf den typ