ID:               8325
 Comment by:       papercrane at reversefold dot com
 Reported By:      cynic at mail dot cz
 Status:           Bogus
 Bug Type:         Feature/Change Request
 Operating System: *
 PHP Version:      4.0 Latest CVS (19/12/2000)
 New Comment:

Why exactly is this important? You can still access the array fine
can't you?

$arr["8"] = 2;
echo $arr["8"];

That works fine for me.

Perhaps you have numbers longer than that that it's choking on? It
seems that if you add a 0 at the beginning, PHP will leave it as a
string.

$arr["08"] = 2;
var_dump($arr);


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

[2004-05-19 02:15:11] alternateduh at hotmail dot com

Just a question...  Why is this the decided upon behavior?  Is there
any way to implement a flexible/variable "struct"-like data structure
with the ability to have numeric strings ("8") that aren't converted to
ints/longs?  This unfortunately is now a serious issue for my company,
and I'm pulling out my hair! :( any help/advice?

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

[2003-08-10 20:16:39] [EMAIL PROTECTED]

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

Indexes with numerical vales (zero or positive) are casted to integer.

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

[2003-02-08 12:36:42] [EMAIL PROTECTED]

Related to bug #21918


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

[2000-12-19 15:54:22] cynic at mail dot cz

(Actually, this is for PHP 4 versions up to 4.0.4 RC6, but it ain't in
the version list.)

I don't want to sound harsh or something, and this behavior seemed to
be accepted as feature from what I saw elsewhere in the bug database
(can't find it, though), but I think it shouldn't be that way. 

Current behavior:

<?
$p = 1 ;
settype( $p , 'string' ) ;
$a = array( $p => 'aaaa' ) ;
var_dump( $a ) ;
?>

output (note: casting within the array() doesn't help):
string(1) "1"
array(1) {
  [1]=>
  string(4) "aaaa"
}


'Right' (YMMV) behavior:
string(1) "1"
array(1) {
  ["1"]=>
  string(4) "aaaa"
}


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


-- 
Edit this bug report at http://bugs.php.net/?id=8325&edit=1

Reply via email to