חיפוש מחרוזת מהסוף strrpos
מוצאת את המיקום האחרון בתוך מחרוזת שחת של תת־המחרוזת מחט – מתבצע חיפוש מחט בערימת שחת.
int strrpos( string $שחת , string $מחט [, int $היסט = 0] )
אם קיימת מחט, מחזירה ההפעלה את המיקום האחרון בו נמצאה תת־המחרוזת מחט במחרוזת שחת.
אם לא קיימת מחט, מחזירה ההפעלה false.
המיקום הוא המספר הסידורי – מפתח של התו במחרוזת, החל בתו מספר אפס עבור התו הראשון וכלה בתו עם מספר כאורך המחרוזת פחות אחת בעבור התו האחרון.
גבולות היסט:
גבול עליון כמספר התווים במחרוזת בערך חיובי או בערך שלילי תמיד ייתן false. מעל גבול זה תתקבל הודעת שגיאה.
Warning: strrpos():
Offset is greater than the length of haystack string in נתיב וקובץ.php
on line מספר שורה
גבול תחתון הוא אפס והוא מוגדר כברירת המחדל. אם ההיסט שווה לאפס או אים יושמט מאפיין ההיסט לחלוטין, יתבצע החיפוש של מחט בכל ערימת השחת.
דוגמאות:
// כאשר ההיסט שלילי הוא מציין את נקודת ההתחלה לחיפוש מהסוף
$haystack = '0123456789A123456789B123456789C1'; // ערימת שחת
$needle = '1'; // מחט
echo strrpos ($haystack,$needle,-1); // 31
echo strrpos ($haystack,$needle,-2); // 21
echo strrpos ($haystack,$needle,-11); // 21
echo strrpos ($haystack,$needle,-12); // 11
echo strrpos ($haystack,$needle,-21); // 11
echo strrpos ($haystack,$needle,-22); // 1
echo strrpos ($haystack,$needle,-31); // 1
echo strrpos ($haystack,$needle,-32); // false
// כאשר ההיסט אינו שלילי הוא מציין את נקודת הסיום לחיפוש ועד בכלל
$haystack = '0123456789A123456789B123456789C1'; // ערימת שחת
$needle = '1'; // מחט
echo strrpos ($haystack,$needle,32); // false
echo strrpos ($haystack,$needle,31); // 31
$needle = '9B'; // מחט
echo strrpos ($haystack,$needle); // 19
echo strrpos ($haystack,$needle,0); // 19
echo strrpos ($haystack,$needle,19); // 19
echo strrpos ($haystack,$needle,20); // false
echo strrpos ($haystack,$needle,32); // false