mb_strrpos throws a warning if $haystack is empty. 
strrpos simply returns FALSE.
This is something to be wary of if overloading the mb functions.(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_strrpos — Find position of last occurrence of a string in a string
   Performs a multibyte safe
   strrpos() operation based on the 
   number of characters. needle position is
   counted from the beginning of
   haystack. First character's position is
   0. Second character position is 1. 
  
haystack
       The string being checked, for the last occurrence
       of needle
      
needle
       The string to find in haystack.
      
offsetencodingПараметром
encoding вказується кодування символів. Якщо він
пропущений або null, використається внутрішнє кодування.
   Returns the numeric position of
   the last occurrence of needle in the
   haystack string. If
   needle is not found, it returns false.
  
offset is greater than the length of
    haystack, a
    ValueError will be thrown.
   
  | Версія | Опис | 
|---|---|
| 8.0.0 | needleтепер може бути порожнім рядком. | 
| 8.0.0 | Passing the encodingas the third argument 
       instead of an offset has been removed. | 
| 8.0.0 | encodingтепер може бутиnull. | 
mb_strrpos throws a warning if $haystack is empty. 
strrpos simply returns FALSE.
This is something to be wary of if overloading the mb functions."Negative values will stop searching at an arbitrary point prior to the end of the string. " ist misleading.
The needle may not fully part of searchrange, defined by a negative offset. 
A negative offsets marks the last byte, where a search could start.
<?php
$test = "Hallo, Herr Gött";
var_dump(strlen($test));                       // int(17)
var_dump(mb_strrpos($test,'ött',13));  // int(13)
var_dump(mb_strrpos($test,'ött',-4)); // int(13) 17-4 = 13
var_dump(mb_strrpos($test,'ött',-5)); // bool(false)
?>