str_contains

(PHP 8)

str_containsBir dizge içinde belirtilen alt dizgeyi arar

Açıklama

str_contains(string $samanlık, string $iğne): bool

samanlık dizgesine harf büyüklüğüne duyarlı bir arama uygulayıp içinde iğne arar.

Değiştirgeler

samanlık

Araştırılacak dizge.

iğne

Aranacak dizge.

Dönen Değerler

samanlık dizgesi içinde needle varsa true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Boş dizge '' kullanımı

<?php
if (str_contains('abc''')) {
    echo 
"Boş dize araması her zaman doğru sonuç verir";
}
?>

Yukarıdaki örneğin çıktısı:

Boş dize araması her zaman doğru sonuç verir

Örnek 2 - Harf büyüklüğüne duyarlılık

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

if (
str_contains($string'lazy')) {
    echo 
"Dizgenin içinde 'lazy' var\n";
}

if (
str_contains($string'Lazy')) {
    echo 
'Dizgenin içinde "Lazy" bulundu';
} else {
    echo 
'"Lazy" yok çünkü harf büyüklüğü eşleşmedi';
}

?>

Yukarıdaki örneğin çıktısı:

Dizgenin içinde 'lazy' var
"Lazy" 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_ends_with() - Bir dizge belirtilen alt dizge ile bitiyor mu diye bakar
  • 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 add a note

User Contributed Notes 4 notes

up
13
scm6079
3 years ago
For earlier versions of PHP, you can polyfill the str_contains function using the following snippet:

<?php
// based on original work from the PHP Laravel framework
if (!function_exists('str_contains')) {
    function
str_contains($haystack, $needle) {
        return
$needle !== '' && mb_strpos($haystack, $needle) !== false;
    }
}
?>
up
2
olivertasche+nospam at gmail dot com
3 years ago
The code from "me at daz dot co dot uk" will not work if the word is
- at the start of the string
- at the end of the string
- at the end of a sentence (like "the ox." or "is that an ox?")
- in quotes
- and so on.

You should explode the string by whitespace, punctations, ... and check if the resulting array contains your word OR try to test with a RegEx like this:
(^|[\s\W])+word($|[\s\W])+

Disclaimer: The RegEx may need some tweaks
up
-7
kadenskinner at gmail dot com
3 years ago
<?php

$needle
= '@';
$haystack = 'user@example.com';

if (!
str_contains($haystack, $needle)){
echo
'There is not an @ in haystack';
}else{
echo
'There is an @ in haystack';
}
up
-37
me at daz dot co dot uk
3 years ago
# Watch out for aberrant partial matches

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

if (str_contains($string, 'ox')) {
    echo 'The string "ox" was found in the string because it was a partial match';
} else {
    echo '"ox" was not found';
}
//output: The string "ox" was found in the string because it was a partial match

# use spaces for full word matching

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

if (str_contains($string, ' ox ')) {
    echo 'The string " ox " was found in the string because it was a partial match';
} else {
    echo '" ox " was not found';
}
//output:  " ox " was not found
To Top