veröffentlicht am: 26.04.2020 zuletzt aktualisiert am: 06.02.2023
Oft ist es notwendig, zu überprüfen, ob ein Teilstring in einem anderen String enthalten ist, wofür uns viele Prorammiersprachen Methoden wie string.contains() und ähnliches anbieten. Die Entsprechung in PHP hierfür, welche ich dir gleich vorstellen werde, ist die eingebaute Funktion strpos.
Die Funktion strpos akzeptiert einen String, den Parameter $haystack, in dem ein anderer String, $needle, gesucht werden soll. Als Rückgabewert erhältst du hier einen Integer, der die Index-Position des gesuchten Teilstrings angibt.
$string = "php ist schön, php ist toll!"; echo strpos($string, "php"); // 0
Im vorigen Beispiel wurde der Index vom ersten Vorkommen vom Teilstring php in $string zurückgegeben.Zusätzlich zu diesen beiden Parametern gibt es noch den optionalen Parameter $offset, der angibt, ab welcher Position in $haystack gesucht werden soll.
echo strpos($string, "php", 5); // 16
Was allerdings, wenn der gesuchte Teilstring nicht in $string vorhanden ist?
echo strpos($string, "python"); //
In diesem Fall bekommen wir von echo keinen Rückgabewert angezeigt.Allerdings können wir diesen Fall mit einem recht simplen if-else-Block abfangen.
if (strpos($string, 'python') !== false) { echo 'true'; } else { echo 'false'; } // false
Zusätzlich gibt es noch 3 Variationen von strpos, welche die gleichen Parameter nehmen, sich jedoch leicht anders verhalten.
Herauszufinden, ob ein String in einem anderen String vorhanden ist und gleichzeitig seine Position zu ermitteln, ist dank der Funktion strpos und ihrer Variationen recht einfach.
Hast du Fragen, Lob, Kritik, Anmerkungen? Lass mir doch bitte einen Kommentar da!
😩 Gelangweilt von den Udemy & YouTube-Tutorials?!
Lerne spielerisch Python, Java & SQL und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.
"Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."
- Lennart Sparbier
100% kostenlos registrieren · keine Kreditkarte notwendig
Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.
100% kostenlos registrieren · keine Zahlungsdaten notwendig