Function um Strings zu bestimmen

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

PHP: is_int - Manual

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 :wink:

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. :wink:

PHP: is_numeric - Manual

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 :wink:

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 :slight_smile: