Bir PHP Dizesinin Başka Bir Dize İçerip İçermediğini Kontrol Etmenin 3 Yolu

Yayınlanan: 2022-02-13

PHP kodu yazmanın muhtemelen en sinir bozucu kısmı, bir PHP Dizesinin başka bir dize içerip içermediğini anlamaktır. Ancak endişelenmeyin – bu eğitimde, birkaç yöntem kullanarak bir alt diziyi tanımlamanın ne kadar kolay olduğunu göstereceğiz. Onları sergilemenin yanı sıra, artılarını ve elbette eksilerini de tartışacağız. Alt dizeleri "köklendirme" için birden fazla yöntem olduğunu lütfen unutmayın.




İçindekiler

PHP Dizesi Başka Bir Dize İçeriyorsa Birkaç Husus

Bir alt diziyi test etmedeki ilk büyük hata, yanlış karşılaştırma operatörünü kullanmaktır. Örneğin, bir alt diziyi kontrol etmek için != kullanıyorsanız, yanlış pozitif olarak adlandırılan sonuçla sonuçlanabilir. Bu durumda, türü karşılaştıran !== kullanmak daha iyidir.

Belirli bir bağlamda hangi operatörü kullanacağınızı bulmakta sorun yaşıyorsanız, operatörler ve işlevleri hakkında ayrıntılı bilgi için bu PHP öğreticisine başvurabilirsiniz. Acemi programcılar için açıklanan kod örneklerini de bulacaksınız.

Söylediğimiz gibi, bir dizenin bir kelime mi yoksa başka bir dize mi içerdiğini anlamak için farklı yöntemler vardır. Bugüne kadar beş yöntem var, ancak bunlardan yalnızca ilk üçü hızlı.

  1. stripos () , bir dizenin başka bir dize içerip içermediğini kontrol etmek için büyük/küçük harfe duyarlıdır.
  2. dizede dize için Regex
  3. strstr () başka bir dizedeki bir dize için.

1. Büyük/küçük harfe duyarlı dize referansı stripos() kullanarak bir alt dizeyi kontrol etme

Bir dizenin başka bir dize içerip içermediğini kontrol etmenin en hızlı ve zahmetsiz yolu, temelde bir dize belirli bir kelime içerip içermediğini arayan stripos() işlevini kullanmaktır. Olan şudur ki, dize bir alt dize/kelime içeriyorsa işlev TRUE veya dize bunlardan hiçbirini içermiyorsa FALSE döndürür.




Stripos()'un nasıl çalıştığını görselleştirmenize yardımcı olması için işte bir örnek.

$first_string = "Senden 10 yaş büyüğüm."

$sought_word= “yıllar”

$karakter = “Ben”




$targeted_substring = "10 yıl"

If (strpos ($first_String, $sought_word) !== false {

echo 'Bu kelime “ '.$sought_word.'” dizgede.';

}

(bu size dünya “yıllarının” bu özel dizide bulunabileceğini söyleyecektir)




if (stripos ($first_string, $karakter) !== false) {

echo 'Bu karakter " '.$karakter.' “bu özel dizide bulunabilir.';

}

(bu satırlar size "I"nin verilen dizide bulunabileceğini söyleyecektir)

if (strpos ($first_string, $hedefli alt dizi) !== false {




echo 'Hedeflenen alt dize “ '.targeted_substring.'”bu dizede bulunabilir.”

(bu satırlar size “5 yıl” alt dizisinin dizide bulunabileceğini söyleyecektir).

if (strpos($first_string, $karakter) != false) {

echo 'Bu karakter " '.$karakter.' "bu dizide görünüyor."

} Başka {

echo 'Bu karakter " '.$karakter.' “ bu dizede görünmüyor.

(Bu satırlar size “I” karakterinin o dizide bulunamadığını söyleyecektir.)

  • İlgili: En iyi 5 ücretsiz çevrimiçi Web geliştirme kursu
  • Web Tasarımını Öğrenmek İçin En İyi 5 Yer

2. Bir dizedeki bir alt dize için normal ifade

Normal ifadeler, yani Regex, belirli bir alt dizi içinde karmaşık kalıpları aramak için daha uygundur.

Burada, önceki örnekte tanımlanan işlevleri kullanarak alt dizelerin nasıl aranacağına ilişkin bir örnek verilmiştir.

$first_string = "Senden 10 yaş büyüğüm."

$sought_word= “yıllar”

$karakter = “Ben”

$targeted_substring = "10 yıl"

if (preg_match('/years/', $first_string)) {

echo '" '.$aranan_kelime.' “bu dizide bulunabilir.';

}

(kullanıcıya "yıllar" kelimesinin o dizede bulunabileceğini söyler)

if (preg_match('/I/', $first_string)) {

echo '“'.$karakter.; “bu dizide görünüyor.' ;

}

(size "Ben" in dizginizde göründüğünü söyler.)

If (preg_match('/10 yıl/', $first_string)) {

echo 'Bu alt dize: '.$targeted_substring.' “sağlanan dizide görünüyor.'

}

("10 yıl" olarak tanımlanan alt dizenin bildirdiğiniz dizede göründüğünü söyler).

3. Strstr(), dizgilerdeki alt dizgileri bulmaya yarayan işlevler

strstr () işlevi oldukça çok yönlüdür, yani belirli bir dize içindeki alt dizeleri, karakterleri ve kelimeleri aramak için kullanılabilir. Yaptığı şey, temelde yalnızca ilk dizeyi içeren kısmı, alt dizenin/kelimenin ilk oluşumundan sonuna kadar geri döndürmek. İşlevin nasıl çalıştığını anlamanıza yardımcı olacak bir örnek

İşler.

$first_string = "Senden 10 yaş büyüğüm."

$sought_word= “yıllar”

$karakter = “Ben”

$targeted_substring = "10 yıl"

If (strstr($first_string, $sought_word) !==false) {

echo '“ '.$sought_word.'” kelimesi dizede görünüyor.;

}

(dizide “yılların” göründüğünü söyler)

if (strstr($first_string, $karakter) !==yanlış) {

echo 'Karakter” '$karakter.'” verilen dizide görünüyor.';

}

(kullanıcıya dizede “I” karakterinin göründüğünü söyleyin)

if (strstr($first_string, $targeted_substring) !==yanlış) {

echo '“'.$targeted_substring.; “ dizede görünüyor.';

}

Çözüm

İşte karşınızda millet – test ettiğiniz dizinin bir alt dizisi olup olmadığını anlamanın üç basit yolu. Yine, operatörler konusunda dikkatli olun ve yanlış pozitif sonuçlardan kaçınmak için dizinizi birden fazla yöntem kullanarak test ettiğinizden emin olun.

PHP veya herhangi bir dil öğrenmek istiyorsanız, size her türlü kursu çok daha ucuza veren Udemy gibi en iyi çevrimiçi öğrenme platformlarından herhangi birinden çevrimiçi kursu almanızı öneririm. Udemy ile ilgili tüm detayları okuyabilirsiniz. En son teklifler için Udemy indirim kuponu sayfamızı da kontrol edebilirsiniz.

PHP dizesinin başka bir dize içerdiğini kontrol etme yöntemleri hakkındaki bu öğreticiyi beğendiyseniz, lütfen paylaşın. Daha fazla ipucu istiyorsanız, Lütfen Facebook, Twitter ve YouTube'da ne istediğinizi takip edin.