strpos

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

strpos Sucht die Position des ersten Vorkommens des Suchstrings in einem String

Beschreibung

strpos(string $haystack, string $needle, int $offset = 0): int|false

Gibt die numerische Position des ersten Vorkommens von needle innerhalb der Zeichenkette haystack zurück.

Parameter-Liste

haystack

Die Zeichenkette, in der gesucht werden soll.

needle

Wenn der Parameter needle keine Zeichenkette ist, wird er vor PHP 8.0.0 in eine Ganzzahl umgewandelt und als ordinaler Wert eines Zeichens betrachtet. Dieses Verhalten gilt seit PHP 7.3.0 als veraltet und es wird dringend empfohlen, sich nicht darauf zu verlassen. Ist das Verhalten gewünscht, so sollte needle explizit in eine Zeichenkette umgewandelt werden oder explizit die Funktion chr() aufgerufen werden.

offset

Wenn angegeben, wird die Suche diese Anzahl an Zeichen vom Anfang der Zeichenkette gezählt beginnen. Ist der Wert negativ, beginnt die Suche stattdessen diese Anzahl an Zeichen vom Ende des Strings gezählt.

Rückgabewerte

Gibt die Position des Vorkommens von needle relativ zum Anfang der Zeichenkette haystack (unabhängig von offset). Es ist ebenfalls zu beachten, dass Stringpositionen bei 0 beginnen, und nicht bei 1.

Gibt false zurück, wenn needle nicht gefunden wurde.

Warnung

Diese Funktion kann sowohl das boolsche false zurückliefern, als auch einen nicht-boolschen Wert, welcher zu false ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Changelog

Version Beschreibung
8.0.0 Die Übergabe eines Integer als needle wird nicht mehr unterstützt.
7.3.0 Die Übergabe eines Integer als needle wird missbilligt.
7.1.0 Unterstützung für negative offset-Werte wurde hinzugefügt.

Beispiele

Beispiel #1 Verwendung von ===

<?php
$meinString 
'abc';
$findMich   'a';
$pos strpos($meinString$findMich);

// Beachten Sie die Verwendung von ===. Ein einfacher Vergleich (==) liefert
// nicht das erwartete Ergebnis, da die Position von 'a' die nullte Stelle
// (also das erste Zeichen) ist
if ($pos === false) {
    echo 
"Der String '$findMich' wurde nicht im String '$meinString' gefunden";
} else {
    echo 
"Der String '$findMich' wurde im String '$meinString' gefunden";
    echo 
" und befindet sich an Position $pos";
}
?>

Beispiel #2 Verwendung von !==

<?php
$meinString 
'abc';
$findMich   'a';
$pos strpos($meinString$findMich);

// Der !==-Operator kann ebenfalls verwendet werden. Die Verwendung von !=
// würde in unserem Beispiel nicht wie erwartet arbeiten, da die Position
// von 'a' 0 ist. Das Statement (0 != false) evaluiert hierbei zu false.
if ($pos !== false) {
    echo 
"Der String '$findMich' wurde im String '$meinString' gefunden";
    echo 
" und befindet sich an Position $pos";
} else {
    echo 
"Der String '$findMich' wurde nicht im String '$meinString' gefunden";
}
?>

Beispiel #3 Verwendung eines Offsets

<?php
// Wir koennen nach einem Zeichen suchen und dabei alles vor dem Offset ignorieren
$newstring 'abcdef abcdef';
$pos strpos($newstring'a'1); // $pos = 7, nicht 0
?>

Anmerkungen

Hinweis: Diese Funktion ist binärsicher.

Siehe auch

  • stripos() - Findet das erste Vorkommen eines Teilstrings in einem String, unabhängig von Groß- und Kleinschreibung
  • str_contains() - Determine if a string contains a given substring
  • str_ends_with() - Checks if a string ends with a given substring
  • str_starts_with() - Checks if a string starts with a given substring
  • strrpos() - Findet die Position des letzten Vorkommens eines Teilstrings innerhalb einer Zeichenkette
  • strripos() - Findet das letzte Vorkommen der gesuchten Zeichenkette in einem String, unabhängig von Groß- und Kleinschreibung
  • strstr() - Findet das erste Vorkommen eines Strings
  • strpbrk() - Durchsucht einen String nach einem Zeichen aus einer Gruppe von Zeichen
  • substr() - Liefert einen Teil eines Strings
  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

Definition von Stored Procedures - eine Einführung

Stored Procedures sind vordefinierte SQL-Codeblöcke, die in einer Datenbank gespeichert sind und bei Bedarf aufgerufen werden können. ...

Bernie

Autor : ebiz-consult GmbH & Co. KG
Kategorie: mySQL-Tutorials

Wie kann man komplexe Abfragen mit SQL-Querys In MySQLi effektiv durchführen?

In diesem MySQL-Tutorial wird erklärt, wie komplexe SQL-Abfragen in MySQLi effizient durchgeführt werden können. Wir werden uns mit verschiedenen Aspekten der Datenbankabfrage beschäftigen und spezifische Methoden kennenlernen. ...

TheMax

Autor : TheMax
Kategorie: mySQL-Tutorials

Neue Funktionen in PhpStorm 2024.1 für PHP-Entwickler

PhpStorm 2024.1 stellt eine Vielzahl von Neuerungen bereit, die das Herz jedes PHP-Entwicklers höher schlagen lassen. ...

admin

Autor : admin
Kategorie: Software-Updates

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

Spielplan für 4 Gruppen zu je 6 Teams auf 2 Feldern

Hallöchen zusammen, ich versuche derzeit unseren Excel-Spielplan in PHP zu überführen. Eigentlich bin ich auch shon fertig - wenn da nicht dies ...

Geschrieben von derH0st am 11.04.2024 15:58:37
Forum: PHP Developer Forum
PHP 8.3.3 - App kann auf dem PC nicht ausgeführt werden

Problem gelöst. Die php.exe hatte einen defekt. Neue heruntergeladen und fertig.

Geschrieben von Tetra1081 am 10.04.2024 16:49:14
Forum: PHP Developer Forum
PHP 8.3.3 - App kann auf dem PC nicht ausgeführt werden

Das Problem ist auch, dass die PHP-Version generell unter Windows nicht läuft, unabhängig vom Webserver. Unter PowerShell erhalte ich folgende ...

Geschrieben von Tetra1081 am 10.04.2024 09:11:05
Forum: PHP Developer Forum
PHP 8.3.3 - App kann auf dem PC nicht ausgeführt werden

Komme mit Ihm gut zurecht, jedoch möchte ich alles Microsoft belassen, da auch der MS SQL Server zum Einsatz kommt und dann alles auf einem Syste ...

Geschrieben von Tetra1081 am 10.04.2024 08:41:10
Forum: PHP Developer Forum