Prüft, ob eine Variable eine Zahl oder ein numerischer String ist

# is_numeric

(PHP 4, PHP 5, PHP 7, PHP 8)

is_numeric — Prüft, ob eine Variable eine Zahl oder ein numerischer String ist

### Beschreibung

function is_numeric(mixed `$value`): bool

Prüft, ob die gegebene Variable eine Zahl oder ein numerischer String ist.

### Parameter-Liste

`value`

  Die zu untersuchende Variable

### Rückgabewerte

Gibt `true` zurück, wenn `value` eine Zahl oder ein numerischer String ist, ansonsten `false`.

### Changelog

Version | Beschreibung
--- | ---
8.0.0 | Numerische Strings, die mit einem Leerzeichen enden (`"42 "`), geben nun `true` zurück. Zuvor wurde stattdessen `false` zurückgegeben.

### Beispiele

Beispiel #1 is_numeric()-Beispiele

    <?php
    $tests = array(
        "42",
        1337,
        0x539,
        02471,
        0b10100111001,
        1337e0,
        "0x539",
        "02471",
        "0b10100111001",
        "1337e0",
        "nicht numerisch",
        array(),
        9.1,
        null,
        '',
    );

    foreach ($tests as $element) {
        if (is_numeric($element)) {
            echo var_export($element, true) . " ist numerisch", PHP_EOL;
        } else {
            echo var_export($element, true) . " ist NICHT numerisch", PHP_EOL;
        }
    }
    ?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    '42' ist numerisch
    1337 ist numerisch
    1337 ist numerisch
    1337 ist numerisch
    1337 ist numerisch
    1337.0 ist numerisch
    '0x539' ist NICHT numerisch
    '02471' ist numerisch
    '0b10100111001' ist NICHT numerisch
    '1337e0' ist numerisch
    'nicht numerisch' ist NICHT numerisch
    array (
    ) ist NICHT numerisch
    9.1 ist numerisch
    NULL ist NICHT numerisch
    '' ist NICHT numerisch

Beispiel #2 is_numeric() mit Leerzeichen

    <?php
    $tests = [
        " 42",
        "42 ",
        "\u{A0}9001", // nicht umbrechendes Leerzeichen
        "9001\u{A0}", // nicht umbrechendes Leerzeichen
    ];

    foreach ($tests as $element) {
        if (is_numeric($element)) {
            echo var_export($element, true) . " ist numerisch", PHP_EOL;
        } else {
            echo var_export($element, true) . " ist NICHT numerisch", PHP_EOL;
        }
    }
    ?>

Das oben gezeigte Beispiel erzeugt mit PHP 8 folgende Ausgabe:

    ' 42' ist numerisch
    '42 ' ist numerisch
    ' 9001' ist NICHT numerisch
    '9001 ' ist NICHT numerisch

Das oben gezeigte Beispiel erzeugt mit PHP 7 folgende Ausgabe:

    ' 42' ist numerisch
    '42 ' ist NICHT numerisch
    ' 9001' ist NICHT numerisch
    '9001 ' ist NICHT numerisch

### Siehe auch

- Numerische Strings
- ctype_digit() - Prüft auf Ziffern
- is_bool() - Prüft, ob eine Variable vom Typ boolean ist
- is_null() - Prüft, ob eine Variable null enthält
- is_float() - Prüft, ob eine Variable vom Typ float ist
- is_int() - Prüft, ob eine Variable vom Typ int ist
- is_string() - Prüft, ob Variable vom Typ string ist
- is_object() - Prüft, ob eine Variable vom Typ object ist
- is_array() - Prüft, ob die Variable ein Array ist
- filter_var() - Filtert eine Variable mit einem angegebenen Filter

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open