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

Reply via email to