ID: 21918 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Verified Bug Type: Arrays related Operating System: Linux PHP Version: 4.3.0/5.0.0 New Comment:
<?php $a = array( '-1' => '-1', '0' => '0', '1' => '1', ); var_dump($a); ?> Output: array(3) { ["-1"]=> string(2) "-1" [0]=> string(1) "0" [1]=> string(1) "1" } (the '0' and '1' indexes are converted to integers..) Not sure if this is actually expected behaviour. :) Previous Comments: ------------------------------------------------------------------------ [2003-01-29 00:39:34] [EMAIL PROTECTED] The bug can be that it shouldn't cast positive numbers to string and not that it should cast negative numbers to string. ------------------------------------------------------------------------ [2003-01-29 00:31:41] [EMAIL PROTECTED] Verified under PHP 4.3.0 with Zend Engine v1.3.0 and PHP 5.0.0-dev with Zend Engine v2.0.0-dev. It looks like '-1' isn't casted to int as it should. ------------------------------------------------------------------------ [2003-01-28 04:58:13] [EMAIL PROTECTED] <?php $a = array(-1=>1, '-1'=>2, 0=>3, '0'=>4, 1=>5, '1'=>6 ); print_r($a); ?> produces: Array ( [-1] => 1 [-1] => 2 [0] => 4 [1] => 6 ) foreach (array_keys($a) as $key) echo $key, ': ', gettype($key), "\n"; produces: -1: integer -1: string 0: integer 1: integer so it seems strings containing negative integers do not get converted to integers automagically but positive integers are. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=21918&edit=1