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

كيفية العثور على التواجد الثاني لسلسلة في PHP باستخدام طريقة بديلة؟

تم النشر بتاريخ 2024-11-03
تصفح:829

How to Find the Second Occurrence of a String in PHP Using an Alternative Method?

تحديد موقع التكرار الثاني لسلسلة باستخدام strpos: نهج بديل

ردًا على استعلام بخصوص كيفية تحديد موقع التكرار الثاني لسلسلة باستخدام الدالة strpos ، والذي يستخدم عادة للعثور على التواجد الأول، نقدم حلاً بديلاً.

يحدد الكود المقدم وظيفة مخصصة، strposX، التي تمكن من استرجاع التكرار X لسلسلة فرعية داخل سلسلة معينة. تأخذ هذه الوظيفة ثلاث معلمات: $haystack (السلسلة المصدر)، و$needle (السلسلة الفرعية المراد تحديد موقعها)، و$number، الذي يمثل التكرار المطلوب العثور عليه.

للسيناريو الذي يتم فيه التكرار المطلوب هو الثاني (أي $number هو 2)، تستدعي الدالة strposX نفسها بشكل متكرر لتحديد موضع التواجد الأول للسلسلة الفرعية، وتضيف طول السلسلة الفرعية إلى هذا الموضع، وتستخدم strpos لتحديد موقع التواجد الثاني داخل الجزء المتبقي من السلسلة.

إليك نسخة مبسطة من الكود:

function strposX($haystack, $needle, $number = 0)
{
    return strpos($haystack, $needle,
        $number > 1 ?
        strposX($haystack, $needle, $number - 1)   strlen($needle) : 0
    );
}

باستخدام هذه الوظيفة، يمكن للمرء بسهولة الحصول على التواجد الثاني لسلسلة فرعية داخل سلسلة، مما يوفر حلاً متعدد الاستخدامات يتجاوز تعريف التواجد الأول القياسي الذي توفره strpos.

بيان الافراج يتم استنساخ هذه المقالة في: 1729233856 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3