str_ends_with

(PHP 8)

str_ends_withChecks if a string ends with a given substring

Beschreibung

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

Performs a case-sensitive check indicating if haystack ends with needle.

Parameter-Liste

haystack

The string to search in.

needle

The substring to search for in the haystack.

Rückgabewerte

Returns true if haystack ends with needle, false otherwise.

Beispiele

Beispiel #1 Using the empty string ''

<?php
if (str_ends_with('abc', '')) {
echo
"All strings end with the empty string";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

All strings end with the empty string

Beispiel #2 Showing case-sensitivity

<?php
$string
= 'The lazy fox jumped over the fence';

if (
str_ends_with($string, 'fence')) {
echo
"The string ends with 'fence'\n";
}

if (
str_ends_with($string, 'Fence')) {
echo
'The string ends with "Fence"';
} else {
echo
'"Fence" was not found because the case does not match';
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

The string ends with 'fence'
"Fence" was not found because the case does not match

Anmerkungen

Hinweis: Diese Funktion ist binärsicher.

Siehe auch

  • str_contains() - Determine if a string contains a given substring
  • str_starts_with() - Checks if a string starts with a given substring
  • stripos() - Findet das erste Vorkommen eines Teilstrings in einem String, unabhängig von Groß- und Kleinschreibung
  • 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

add a note add a note

User Contributed Notes 3 notes

up
5
divinity76 at gmail dot com
3 years ago
this is the fastest php7-implementation i can think of, it should be faster than javalc6 and Reinder's implementations, as this one doesn't create new strings (but theirs does)

<?php
if (! function_exists('str_ends_with')) {
    function
str_ends_with(string $haystack, string $needle): bool
   
{
       
$needle_len = strlen($needle);
        return (
$needle_len === 0 || 0 === substr_compare($haystack, $needle, - $needle_len));
    }
}
?>
up
1
Reinder
1 year ago
In PHP7 you may want to use:

if (!function_exists('str_ends_with')) {
  function str_ends_with($str, $end) {
    return (@substr_compare($str, $end, -strlen($end))==0);
  }
}

AFAIK that is binary safe and doesn't need additional checks.
up
1
javalc6 at gmail dot com
1 year ago
In case you are using an older version of PHP, you can define and use the following function:

function endsWith($haystack, $needle) {
    $length = strlen($needle);
    return $length > 0 ? substr($haystack, -$length) === $needle : true;
}
To Top