Prüft, ob ein Wert in einem Array existiert

# in_array

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

in_array — Prüft, ob ein Wert in einem Array existiert

### Beschreibung

function in_array(mixed `$needle`, array `$haystack`, bool `$strict` = `false`): bool

Diese Funktion sucht in `haystack` nach `needle`. Wenn `strict` gesetzt ist, wird dabei auch der Typ des Elements beachtet.

### Parameter-Liste

`needle`

  Der gesuchte Wert.

  > Hinweis:

  > Ist `needle` ein String, so wird bei der Suche die Groß- und Kleinschreibung beachtet.

`haystack`

  Das zu durchsuchende Array.

`strict`

  Wenn der dritte Parameter auf `true` gesetzt wird, vergleicht in_array() nicht nur den Wert, sondern auch den Typ des gesuchten Wertes `needle` mit den Elementen des Arrays.

  > Hinweis:

  > Vor PHP 8.0.0 passt ein `needle`-Wert vom Typ `string` im nicht-strikten Modus auf einen Array-Wert von `0` und umgekehrt. Das kann zu unerwünschten Ergebnissen führen. Ähnliche Grenzfälle gibt es auch für andere Typen. Wenn nicht absolut sicher ist, um welche Art von Werten es sich handelt, sollte immer das Flag `strict` verwendet werden, um ein unerwartetes Verhalten zu vermeiden.

### Rückgabewerte

Gibt `true` zurück wenn `needle` im Array gefunden wird, sonst `false`.

### Beispiele

Beispiel #1 in_array()-Beispiel

    <?php
    $os = array("Mac", "NT", "Irix", "Linux");
    if (in_array("Irix", $os)) {
        echo "Irix enthalten";
    }
    if (in_array("mac", $os)) {
        echo "mac enthalten";
    }
    ?>

Der zweite Vergleich schlägt fehl, da in_array() Groß- und Kleinschreibung unterscheidet, die Ausgabe sieht daher so aus:

    Irix enthalten

Beispiel #2 in_array()-Beispiel mit 'strict'

    <?php
    $a = array('1.10', 12.4, 1.13);

    if (in_array('12.4', $a, true)) {
        echo "'12.4' bei strenger Prüfung gefunden\n";
    }

    if (in_array(1.13, $a, true)) {
        echo "1.13 Bei strenger Prüfung gefunden\n";
    }
    ?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    1.13 bei strenger Prüfung gefunden

Beispiel #3 in_array() mit Array als Suchwert

    <?php
    $a = array(array('p', 'h'), array('p', 'r'), 'o');

    if (in_array(array('p', 'h'), $a)) {
        echo "'ph' gefunden\n";
    }

    if (in_array(array('f', 'i'), $a)) {
        echo "'fi' gefunden\n";
    }

    if (in_array('o', $a)) {
        echo "'o' gefunden\n";
    }
    ?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    'ph' gefunden
    'o' gefunden

### Siehe auch

- array_search() - Durchsucht ein Array nach einem Wert und liefert bei Erfolg den zugehörigen Schlüssel
- isset() - Prüft, ob eine Variable deklariert ist und sich von null unterscheidet
- array_key_exists() - Prüft, ob ein gegebener Schlüssel in einem Array existiert

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