str_ends_with

(PHP 8)

str_ends_withBir dizge belirtilen alt dizge ile bitiyor mu diye bakar

Açıklama

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

samanlık dizgesine harf büyüklüğüne duyarlı bir arama uygulayıp iğne ile bitip bitmediğine bakar.

Değiştirgeler

samanlık

Araştırılacak dizge.

iğne

samanlık'ta aranacak parça.

Dönen Değerler

samanlık dizgesi needle ile bitiyorsa true, başarısızlık durumunda false döner.

Örnekler

Ö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

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • str_contains() - Bir dizge içinde belirtilen alt dizgeyi arar
  • str_starts_with() - Bir dizge belirtilen alt dizge ile başlıyor mu diye bakar
  • stripos() - Harf büyüklüğüne duyarsız olarak bir alt dizgenin ilkinin konumunu bulur
  • strrpos() - Bir dizgede bir karakterin sonuncusunu bulur
  • strripos() - Bir dizgede harf büyüklüğüne duyarsız olarak bir alt dizgenin sonuncusunu bulur
  • strstr() - İlk alt dizgeyi bulur
  • strpbrk() - Belirtilen karakterleri bir dizge içinde arar
  • substr() - Dizgenin bir kısmını döndürür
  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır

add a note

User Contributed Notes 5 notes

up
28
javalc6 at gmail dot com
1 year ago
In case you are using an older version of PHP (e.g. PHP 7), you can define and use the following function:

function endsWith($haystack, $needle) {
    $length = strlen($needle);
    return $length > 0 ? substr($haystack, -$length) === $needle : true;
}
up
3
divinity76 at gmail dot com
10 months 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
11 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
1
billynoah at gmail dot com
2 days ago
Case-insensitive version:

<?php
function stri_ends_with($haystack, $needle) {
    return
strripos($haystack, $needle) === (strlen($haystack) - strlen($needle));
}
?>
up
0
kitchin at lapage dot com
8 months ago
Wordpress 5.9 RC3 does it this way:

<?php
if ( ! function_exists( 'str_ends_with' ) ) {
    function
str_ends_with( $haystack, $needle ) {
        if (
'' === $haystack && '' !== $needle ) {
            return
false;
        }
       
$len = strlen( $needle );
        return
0 === substr_compare( $haystack, $needle, -$len, $len );
    }
}
?>

I suppose the compiler optimizes for the fact that `substr_compare()` is only being used for equality, not comparison ( <0, >0 ).
To Top