Der PHP-Standardweg, um zu testen, ob ein String $str
endet mit einer Teilzeichenkette $test
ist:
$endsWith = substr( $str, -strlen( $test ) ) == $test
Ist dies der schnellste Weg?
Der PHP-Standardweg, um zu testen, ob ein String $str
endet mit einer Teilzeichenkette $test
ist:
$endsWith = substr( $str, -strlen( $test ) ) == $test
Ist dies der schnellste Weg?
In PHP 8:
str_ends_with('haystack', 'stack'); // true
str_ends_with('haystack', 'K'); // false
und auch:
str_starts_with('haystack', 'hay'); // true
PHP RFC: Hinzufügen von str_starts_with(), str_ends_with() und verwandten Funktionen
Eine andere Möglichkeit wäre die Verwendung der strrpos
Funktion :
strrpos($str, $test) == strlen($str) - strlen($test)
Aber das ist nicht schneller.
Ich hoffe, dass die folgende Antwort effizient und einfach ist:
$content = "The main string to search";
$search = "search";
//For compare the begining string with case insensitive.
if(stripos($content, $search) === 0) echo 'Yes';
else echo 'No';
//For compare the begining string with case sensitive.
if(strpos($content, $search) === 0) echo 'Yes';
else echo 'No';
//For compare the ending string with case insensitive.
if(stripos(strrev($content), strrev($search)) === 0) echo 'Yes';
else echo 'No';
//For compare the ending string with case sensitive.
if(strpos(strrev($content), strrev($search)) === 0) echo 'Yes';
else echo 'No';
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
0 Stimmen
Sie finden vielleicht
s($str)->endsWith($test)
os($str)->endsWithIgnoreCase($test)
hilfreich, wie sie in diese eigenständige Bibliothek .0 Stimmen
PHP 8.0 führt eine neue Methode für diese Aufgabe ein
str_end_with
: stackoverflow.com/a/64160081/70821643 Stimmen
Ähnlich: stackoverflow.com/questions/834303/