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;
}
(PHP 8)
str_ends_with — Bir dizge belirtilen alt dizge ile bitiyor mu diye bakar
samanlık
dizgesine harf büyüklüğüne duyarlı bir arama
uygulayıp iğne
ile bitip bitmediğine bakar.
samanlık
Araştırılacak dizge.
iğne
samanlık
'ta aranacak parça.
Örnek 1 - Boş dizge ''
kullanımı
<?php
if (str_ends_with('abc', '')) {
echo "Tüm dizeler boş bir dize ile biter";
}
?>
Yukarıdaki örneğin çıktısı:
Tüm dizeler boş bir dize ile biter
Örnek 2 - Harf büyüklüğüne duyarlılık
<?php
$string = 'The lazy fox jumped over the fence';
if (str_ends_with($string, 'fence')) {
echo "Dizge 'fence' ile bitiyor\n";
}
if (str_ends_with($string, 'Fence')) {
echo 'Dizge sonu: "Fence"';
} else {
echo 'Sonda "Fence" yok çünkü harf büyüklüğü eşleşmedi';
}
?>
Yukarıdaki örneğin çıktısı:
Dizge 'fence' ile bitiyor Sonda "Fence" yok çünkü harf büyüklüğü eşleşmedi
Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.
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;
}
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.
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));
}
}
?>