بخصوص المتغير الثالث في strrpos هو يحدد للدالة المكان الذي ستبدأ البحث في النص من بعده
هذا اختبار استعملته لاختبار المحاكاة
كود PHP:
$haystack = implode('',range('a','h'));
$needle = 'ef';
for($i=strlen($haystack)*-1;$i<=strlen($haystack);$i++){
echo $i."\n";
var_dump(_strrpos($haystack,$needle,$i));
echo "\n";
var_dump(strrpos($haystack,$needle,$i));
echo "\n-----------------\n";
}
echo "true\n";
var_dump(_strrpos($haystack,$needle,true));
echo "\n";
var_dump(strrpos($haystack,$needle,true));
echo "\n-----------------\n";
echo "false\n";
var_dump(_strrpos($haystack,$needle,false));
echo "\n";
var_dump(strrpos($haystack,$needle,false));
echo "\n-----------------\n";
echo "null\n";
var_dump(_strrpos($haystack,$needle,null));
echo "\n";
var_dump(strrpos($haystack,$needle,null));
echo "\n-----------------\n";
==========
محاكاتي ل strrev
كود PHP:
function _strrev($string){
$len = strlen($string);
return ($len > 1) ? $string[--$len]._strrev(substr($string,0,$len)) : $string;
}