3 طرق للتحقق مما إذا كانت سلسلة PHP تحتوي على سلسلة أخرى

نشرت: 2022-02-13

ربما يكون الجزء الأكثر إحباطًا في كتابة كود PHP هو معرفة ما إذا كانت سلسلة PHP تحتوي على سلسلة أخرى. لكن لا داعي للقلق - في هذا البرنامج التعليمي ، سنعرض مدى سهولة تحديد سلسلة فرعية باستخدام عدة طرق. بصرف النظر عن عرضها ، سنناقش أيضًا إيجابياتهم ، وبالطبع ، سلبياتهم. يرجى أن تضع في اعتبارك أن هناك أكثر من طريقة واحدة لـ "استئصال" السلاسل الفرعية.




جدول المحتويات

زوجان من الاعتبارات إذا كانت سلسلة PHP تحتوي على أخرى

أول خطأ فادح في اختبار سلسلة فرعية هو استخدام عامل المقارنة الخاطئ. على سبيل المثال ، إذا كنت تستخدم! = للتحقق من وجود سلسلة فرعية ، فقد ينتهي بك الأمر بما يسمى بالإيجابية الزائفة. في هذه الحالة ، من الأفضل استخدام! == ، الذي يقارن النوع.

إذا كنت تواجه مشكلة في معرفة المشغل الذي يجب استخدامه في سياق معين ، يمكنك الرجوع إلى هذا البرنامج التعليمي PHP للحصول على معلومات مفصلة عن المشغلين ووظائفهم. ستجد أيضًا أمثلة على التعليمات البرمجية موضحة للمبرمج المبتدئ.

كما قلنا ، هناك طرق مختلفة لمعرفة ما إذا كانت السلسلة تحتوي على كلمة أو سلسلة أخرى. حتى الآن ، هناك خمس طرق ، لكن الثلاثة الأولى منها فقط سريعة.

  1. stripos () لحالة الأحرف للتحقق مما إذا كانت السلسلة تحتوي على سلسلة أخرى.
  2. Regex لسلسلة في السلسلة
  3. strstr () لسلسلة في سلسلة أخرى.

1.التحقق من وجود سلسلة فرعية باستخدام شريط مرجعي للسلسلة الحساسة لحالة الأحرف ()

الطريقة الأسرع وغير المؤلمة للتحقق مما إذا كانت السلسلة تحتوي على سلسلة أخرى هي استخدام وظيفة stripos () التي تبحث أساسًا عما إذا كانت السلسلة تحتوي على كلمة معينة. ما يحدث هو أن الدالة ستعيد TRUE إذا كانت السلسلة تحتوي على سلسلة فرعية / كلمة أو FALSE إذا كانت السلسلة لا تحتوي على أي منهما.




لمساعدتك في تصور كيفية عمل stripos () ، إليك مثال.

$ first_string = "أنا أكبر منك بعشر سنوات."

$سعت_وورد = "سنوات"

$ الطابع = "أنا"




$ Target_substring = "10 سنوات"

إذا كان (strpos ($ first_String، $ calling_word)! == خطأ {

صدى "هذه الكلمة". $ calling_word. "" موجودة في السلسلة. '؛

}

(سيخبرك هذا أنه يمكن العثور على "سنوات" العالم في هذه السلسلة المعينة)




إذا (الشريط ($ first_string، $ character)! == false) {

صدى "هذه الشخصية". $ character. " "يمكن العثور عليها في هذه السلسلة المعينة." ؛

}

(ستخبرك هذه السطور أنه يمكن العثور على "أنا" في السلسلة المحددة)

إذا (strpos ($ first_string، $ سلسلة فرعية مستهدفة)! == خطأ {




صدى يمكن العثور على "السلسلة الفرعية المستهدفة" .targeted_substring. "في هذه السلسلة."

(ستخبرك هذه السطور أن السلسلة الفرعية "5 سنوات" يمكن العثور عليها في السلسلة).

إذا (strpos ($ first_string، $ character)! = false) {

صدى "هذه الشخصية". $ character. " "تظهر في هذه السلسلة."

} آخر {

صدى "هذه الشخصية". $ character. " "لا تظهر في هذه السلسلة.

(ستخبرك هذه السطور أنه لا يمكن العثور على الحرف "أنا" في هذه السلسلة المحددة.)

  • الموضوعات ذات الصلة: 5 أفضل دورات تطوير الويب المجانية على الإنترنت
  • أفضل 5 أماكن لتعلم تصميم الويب

2.Regex لسلسلة فرعية في سلسلة

تعد التعبيرات العادية المعروفة أيضًا باسم Regex أكثر ملاءمة للبحث عن الأنماط المعقدة داخل سلسلة فرعية معينة.

فيما يلي مثال على كيفية البحث عن السلاسل الفرعية ، باستخدام الوظائف المحددة في المثال السابق.

$ first_string = "أنا أكبر منك بعشر سنوات."

$سعت_وورد = "سنوات"

$ الطابع = "أنا"

$ Target_substring = "10 سنوات"

إذا (preg_match ('/ years /'، $ first_string)) {

صدى "الكلمة". $ calling_word. " "يمكن العثور عليها في هذه السلسلة." ؛

}

(يخبر المستخدم أنه يمكن العثور على كلمة "سنوات" في هذه السلسلة)

إذا (preg_match ('/ I /'، $ first_string)) {

صدى "الحرف". $ character .؛ "تظهر في هذه السلسلة." ؛

}

(يخبرك أن "أنا" تظهر في السلسلة الخاصة بك.)

If (preg_match ('/ 10 years /'، $ first_string)) {

صدى "هذه السلسلة الفرعية:". $ target_substring. " "تظهر في السلسلة المتوفرة."

}

(يخبرك أن السلسلة الفرعية ، المُعرَّفة بـ "10 سنوات" تظهر في السلسلة المعلنة الخاصة بك).

3. وظائف Strstr () للعثور على سلاسل فرعية في سلاسل

تعد وظيفة strstr () متعددة الاستخدامات ، مما يعني أنه يمكن استخدامها للبحث عن السلاسل الفرعية والأحرف والكلمات داخل سلسلة محددة. ما يفعله هو إرجاع الجزء الذي يحتوي على السلسلة الأولى فقط ، من التواجد الأول للسلسلة الفرعية / الكلمة حتى النهاية. فيما يلي مثال لمساعدتك في معرفة كيفية عمل الوظيفة

يعمل.

$ first_string = "أنا أكبر منك بعشر سنوات."

$سعت_وورد = "سنوات"

$ الطابع = "أنا"

$ Target_substring = "10 سنوات"

إذا (strstr ($ first_string، $ calling_word)! == false) {

صدى الكلمة "". $ calling_word. "تظهر في السلسلة ؛

}

(يخبرك أن "السنوات" تنبثق في السلسلة)

إذا (strstr ($ first_string، $ character)! == false) {

صدى "الحرف" "$ character." "يظهر في السلسلة المحددة. '؛

}

(أخبر المستخدم أن الحرف "I" يظهر في السلسلة)

إذا (strstr ($ first_string، $ target_substring)! == false) {

صدى "السلسلة الفرعية". $ target_substring .؛ "تظهر في السلسلة" ؛

}

خاتمة

يوجد لديك ، أيها الأشخاص - ثلاث طرق بسيطة لمعرفة ما إذا كانت السلسلة التي تختبرها تحتوي على سلسلة فرعية أم لا. مرة أخرى ، كن حذرًا بشأن المشغلين ، وتأكد من اختبار الخيط الخاص بك باستخدام أكثر من طريقة لتجنب النتائج الإيجابية الكاذبة.

إذا كنت ترغب في تعلم PHP أو أي لغة أخرى ، أقترح أخذ الدورة التدريبية عبر الإنترنت من أي من أفضل منصات التعلم عبر الإنترنت مثل Udemy التي تمنحك أي نوع من الدورات التدريبية بسعر أقل. يمكنك قراءة التفاصيل الكاملة حول Udemy. يمكنك أيضًا التحقق من صفحة كوبون خصم Udemy للحصول على أحدث العروض.

إذا أعجبك هذا البرنامج التعليمي حول طرق التحقق من أن سلسلة PHP تحتوي على سلسلة أخرى ، فيرجى مشاركتها. هل تريد المزيد من النصائح ، يرجى متابعة ما تريده على Facebook و Twitter و YouTube.