الدالة strrpos()
في PHP
(PHP 4, PHP 5, PHP 7)
تبحث الدالة strrpos()
عن آخر ظهور لمحارف معينَّة في سلسلة نصيَّة ثمَّ تعيد رقم موقعها في تلك السلسلة.
الوصف
int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )
تبحث هذه الدالة على آخر تواجد للمحارف needle
ضمن السلسلة النصيَّة haystack
ثمَّ تعيد رقم موقعها في تلك السلسلة.
المعاملات
haystack
السلسلة النصيَّة التي ستبحث الدالة فيها.
needle
مجموعة المحارف التي ستبحث الدالة عنها. إن لم تكن تلك المحارف سلسلةً نصيَّةً، فستُحوَّل إلى عدد صحيح وتُعامل على أنَّها قيمة ترتيبيَّة للمحارف.
offset
معامل اختياري وهو قيمة إزاحة عدد المحارف من بداية السلسلة النصيَّة والتي سيبدأ البحث بعدها. إن كانت قيمة هذا المعامل سالبة، فسيبدأ البحث بعد إزاحة عدد محدَّد من المحارف من نهاية السلسلة النصيَّة وهكذا حتى الوصول إلى بدايتها أي سيُجرى البحث بطريقة عكسية بدءًا من النهاية بعد تنفيذ الإزاحة.
القيم المعادة
تُعاد قيمة تمثل موقع وجود المعامل needle
نسبةً إلى بداية المعامل haystack
ودون أخذ قيمة الإزاحة offset
أو جهة البحث بالحسبان. إن لم يُعثر على المعامل needle
، فستُعاد القيمة FALSE
.
تجدر الإشارة إلى أنَّ موقع أول محرف في السلسلة النصيَّة يبدأ من القيمة 0 وليس 1.
تحذير: تعيد أحيانًا هذه الدالة القيمة المنطقيَّة FALSE
، وتعيد أحيانًا أخرى قيمة غير منطقيَّة ولكنَّها تعادل القيمة FALSE
، لذا استعمل المعامل ===
للتحقق من القيمة التي تعيدها. يُفضل قراءة قسم القيم المنطقيَّة (boolean) للاطلاع على المزيد من المعلومات.
سجل التغييرات
الإصدار | الوصف |
---|---|
5.0.0 | يمكن أن يكون المعامل needle الآن سلسلةً نصيَّةً ذات محرف واحد أو أكثر.
|
أمثلة
المثال 1: استعمال الدالة strrpos()
يمكن بسهولة إساءة فهم القيم المعادة من أجل "عُثر على المحرف في الموقع 0" ومن أجل "لم يُعثر على المحرف". يمكنك اكتشاف الفارق في هذا المثال.
<?php
$pos = strrpos($mystring, "b");
if ($pos === false) { // انتبه: ثلاث إشارات تساوي
//... لم يُعثر
}
?>
المثال 2: البحث باستعمال المعامل offset
<?php
$foo = "0123456789a123456789b123456789c";
var_dump(strrpos($foo, '7', -5)); // بدء البحث من نهاية السلسلة بطريقة عكسية بعد إزاحة 5 محارف من النهاية
//int(17) :النتيجة هي
var_dump(strrpos($foo, '7', 20)); // بدء البحث من البداية بعد إزاحة 20 محرف
//int(27) :النتيجة هي
var_dump(strrpos($foo, '7', 28)); //bool(false) :النتيجة هي
?>
انظر أيضًا
- الدالة
strpos()
: تبحث عن أول ظهور لمحارف معينَّة في سلسلة نصيَّة ثمَّ تعيد رقم موقعها في تلك السلسلة. - الدالة
strripos()
: تبحث عن آخر ظهور لمحارف معينَّة في سلسلة نصيَّة دون تحسُّس حالة الأحرف ثمَّ تعيد رقم موقعها في تلك السلسلة. - الدالة
stripos()
: تبحث عن أول ظهور لمحارف معينَّة في سلسلة نصيَّة دون تحسُّس حالة الأحرف ثمَّ تعيد رقم موقعها في تلك السلسلة. - الدالة
substr()
: تعيد جزءًا من السلسلة النصيَّة. - الدالة
strrchr()
: تبحث عن تواجد محرف معيَّن في سلسلة نصيَّة ثمَّ تعيد ما بعده.