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

Reply via email to