Statement on glibc/iconv Vulnerability

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.

Bağımsız Değişkenler

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 3 notes

up
6
Reinder
10 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
10 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