ID:               33852
 User updated by:  sl at yes-co dot nl
 Reported By:      sl at yes-co dot nl
 Status:           Open
-Bug Type:         Documentation problem
+Bug Type:         Scripting Engine problem
 Operating System: Linux sarge 2.6.8
-PHP Version:      Irrelevant
+PHP Version:      5.1.0-dev
 New Comment:

Offset also does not work from the end:

strrpos with offset
string: aaabaaaaaaaaaaaabaaa
strrpos($string, 'b', 1): 16
strrpos($string, 'b', 5): 16
strrpos($string, 'b', 15): 16
strrpos($string, 'b', 19): 
strrpos($string, 'b', -5): 3
strrpos($string, 'b', -15): 3

This does not make sense.


Previous Comments:
------------------------------------------------------------------------

[2005-07-25 11:45:07] sl at yes-co dot nl

Description:
------------
The offset parameter of the strrpos function is the offset from the end
of the string. The documentation is unclear about this:
 "As of PHP 5.0.0 offset may be specified to begin searching an
arbitrary number of characters into the string."
I would expect it to start at $string+$offset, searching backwards.

Reproduce code:
---------------
<?php
        echo "strrpos with offset\n";
        $string='abcdefghijklmnopqrstuvwxyz';
        echo "string: $string\n";
        echo 'strrpos($string, \'n\', 5): '.strrpos($string, 'n', 5)."\n";
        echo 'strrpos($string, \'n\', 15): '.strrpos($string, 'n', 15)."\n";
        echo 'strrpos($string, \'n\', -5): '.strrpos($string, 'n', -5)."\n";
        echo 'strrpos($string, \'n\', -15): '.strrpos($string, 'n',
-15)."\n";
?>

Actual result:
--------------
strrpos with offset
string: abcdefghijklmnopqrstuvwxyz
strrpos($string, 'n', 5): 13
strrpos($string, 'n', 15): 
strrpos($string, 'n', -5): 13
strrpos($string, 'n', -15): 



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=33852&edit=1

Reply via email to