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.
      
offsetencodingIl parametro encoding 
è la codifica dei caratteri. Se è omesso, verrà utilizzata la 
codifica interna.
   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.
   
  | Versione | Descrizione | 
|---|---|
| 8.0.0 | needlenow accepts an empty string. | 
| 8.0.0 | Passing the encodingas the third argument 
       instead of an offset has been removed. | 
| 8.0.0 | encodingis nullable now. | 
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)
?>