str_ends_with

(PHP 8)

str_ends_withDetermina si una cadena termina con un substring dado

Descripción

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

Realiza una verificación sensible a mayúsculas y minúsculas que indica si haystack (pajar) termina con needle (aguja).

Parámetros

haystack

El string en la que se realiza la búsqueda.

needle

El substring a buscar en haystack.

Valores devueltos

Devuelve true si haystack termina con needle, de lo contrario false.

Ejemplos

Ejemplo #1 Con un string vacío ''

<?php
if (str_ends_with('abc', '')) {
echo
"Todas las cadenas terminan con la cadena vacía";
}
?>

El resultado del ejemplo sería:

Todas las cadenas terminan con la cadena vacía

Ejemplo #2 Demostración de la sensibilidad a mayúsculas y minúsculas

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

if (
str_ends_with($string, 'fence')) {
echo
"La cadena termina con 'fence'\n";
}

if (
str_ends_with($string, 'Fence')) {
echo
'La cadena termina con "Fence"';
} else {
echo
'"Fence" no fue encontrado porque las mayúsculas y minúsculas no coinciden';
}

?>

El resultado del ejemplo sería:

La cadena termina con 'fence'
"Fence" no fue encontrado porque las mayúsculas y minúsculas no coinciden

Notas

Nota: Esta función es segura binariamente.

Ver también

  • str_contains() - Determina si una cadena contiene un substring dado
  • str_starts_with() - Determina si un string comienza con un substring dado
  • stripos() - Encuentra la posición de la primera aparición de un substring en un string sin considerar mayúsculas ni minúsculas
  • strrpos() - Encuentra la posición de la última aparición de un substring en un string
  • strripos() - Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string
  • strstr() - Encuentra la primera aparición de un string
  • strpbrk() - Buscar una cadena por cualquiera de los elementos de un conjunto de caracteres
  • substr() - Devuelve parte de un string
  • preg_match() - Realiza una comparación con una expresión regular

add a note

User Contributed Notes 3 notes

up
9
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;
}
up
8
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
6
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));
}
}
?>
To Top