Start · Sprachen · PHP · Referenz · str_contains

str_contains

Funktion

Prüft, ob ein String einen anderen String enthält — der lesbare Ersatz für <code>strpos() !== false</code>.

seit PHP 8.0.0 Kategorie: string

Signatur

str_contains(string $haystack, string $needle): bool

Beschreibung

Seit PHP 8.0 gibt es endlich eine native, gut lesbare Prüfung, ob ein Teilstring vorkommt. Vorher musste man strpos($haystack, $needle) !== false schreiben — ein Klassiker für Off-by-One-Bugs.

Die Prüfung ist case-sensitive. Für case-insensitive Vergleich vorher beide Strings in Kleinbuchstaben umwandeln (mb_strtolower()).

Parameter

Name Typ Default Beschreibung
$haystack Pflicht string Der String, in dem gesucht wird.
$needle Pflicht string Der gesuchte Teilstring. Leerer String gibt immer true zurück.

Rückgabewert

Typ
bool
Beschreibung
true, wenn $needle in $haystack vorkommt.

Beispiele

Domain-Check

<?php

if (str_contains($email, '\@example.com')) {
    // interner Nutzer
}

Case-insensitive

<?php

if (str_contains(mb_strtolower($title), 'php')) {
    echo 'PHP erwähnt';
}