ID:               42941
 Updated by:       [EMAIL PROTECTED]
 Reported By:      jonas at skubic dot se
-Status:           Open
+Status:           Closed
 Bug Type:         Feature/Change Request
 Operating System: Linux
 PHP Version:      5CVS-2007-10-12 (snap)


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

[2007-10-13 20:48:03] felipensp at gmail dot com

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
)

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

[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