PHP 8.3.4 Released!

str_ends_with

(PHP 8)

str_ends_withVerifica se uma string termina com uma substring fornecida

Descrição

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

Realiza uma verificação case-sensitive indicando se haystack termina com needle.

Parâmetros

haystack

A string onde será feita a busca.

needle

A substring para procurar em haystack.

Valor Retornado

Retorna true se haystack terminar com needle, false caso contrário.

Exemplos

Exemplo #1 Usando a string vazia ''

<?php
if (str_ends_with('abc', '')) {
echo
"Toda string termina com uma string vazia";
}
?>

O exemplo acima produzirá:

Toda string termina com uma string vazia

Exemplo #2 Mostrando o case-sensitivity

<?php
$string
= 'A raposa preguiçosa pulou a cerca';

if (
str_ends_with($string, 'cerca')) {
echo
"A string termina com 'cerca'\n";
}

if (
str_ends_with($string, 'Cerca')) {
echo
'A string termina com "Cerca"';
} else {
echo
'"Cerca" não foi encontrado porque o case não corresponde';
}

?>

O exemplo acima produzirá:

A string termina com 'cerca'
"Cerca" não foi encontrada porque o case não corresponde

Notas

Nota: Esta função é compatível com dados binários.

Veja Também

  • str_contains() - Determina se uma string contém uma substring fornecida
  • str_starts_with() - Verifica se uma string começa com uma substring fornecida
  • stripos() - Find the position of the first occurrence of a case-insensitive substring in a string
  • strrpos() - Find the position of the last occurrence of a substring in a string
  • strripos() - Find the position of the last occurrence of a case-insensitive substring in a string
  • strstr() - Find the first occurrence of a string
  • strpbrk() - Procura na string por um dos caracteres de um conjunto
  • substr() - Retorna parte de uma string
  • preg_match() - Perform a regular expression match

add a note

User Contributed Notes 3 notes

up
6
Reinder
9 months 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
6
javalc6 at gmail dot com
9 months 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;
}
up
6
divinity76 at gmail dot com
2 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));
}
}
?>
To Top