ID: 42941
Comment by: felipensp at gmail dot com
Reported By: jonas at skubic dot se
Status: Open
Bug Type: Feature/Change Request
Operating System: Linux
PHP Version: 5CVS-2007-10-12 (snap)
New Comment:
PHP 5.2.5-dev (cli) (built: Oct 13 2007 17:24:05)
[EMAIL PROTECTED]:~/public_html$ php test.php
Array
(
[0] => 2
[1] => 3
[2] => 4
[3] => 5
[4] => 6
[5] => 7
[6] => 8
[7] => 9
)
Previous Comments:
------------------------------------------------------------------------
[2007-10-12 08:47:31] jonas at skubic dot se
Description:
------------
array_slice seems to be resetting the current array position *before*
processing the offset parameter.
This makes it impossible to directly use expressions that use the array
position for the offset parameter.
It would be mildly useful and less surprising if the parameters were
evaluated before altering the array.
Reproduce code:
---------------
$a = range(0, 9);
next($a);
next($a);
$b = array_slice($a, key($a));
print_r($b);
Expected result:
----------------
Array
(
[0] => 2
[1] => 3
[2] => 4
[3] => 5
[4] => 6
[5] => 7
[6] => 8
[7] => 9
)
Actual result:
--------------
Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
[4] => 4
[5] => 5
[6] => 6
[7] => 7
[8] => 8
[9] => 9
)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=42941&edit=1