#34068 [Opn->Asn]: Numeric string as array key cast to integer

From: Date: Wed, 10 Aug 2005 13:39:31 +0000
Subject: #34068 [Opn->Asn]: Numeric string as array key cast to integer
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-83308@lists.php.net to get a copy of this message
ID: 34068 Updated by: sniper@php.net -Summary: Different Variable-Type after serialization Reported By: clemens at gutweiler dot net -Status: Open +Status: Assigned -Bug Type: WDDX related +Bug Type: Scripting Engine problem -Operating System: Win +Operating System: * -PHP Version: 5.1.0b3 +PHP Version: 5CVS-2005-08-10 -Assigned To: +Assigned To: dmitry New Comment: Actually it's not WDDX issue, but general issue with numeric array index not staying as string but getting silently changed to integer: <?php $a = array ('123' => 'abc', 'abc' => '123'); var_dump($a); ?> Outputs: array(2) { [123]=> string(3) "abc" ["abc"]=> string(3) "123" } Although this is pretty old issue, Dmitry, can you check? Previous Comments: ------------------------------------------------------------------------ [2005-08-10 13:58:47] clemens at gutweiler dot net Description: ------------ The vartype of the 123 key changed after serialization, it should be consistent. Reproduce code: --------------- <?php $data = array( '123' => 'zahl', 'Foo' => 'bar', ); var_dump( $data ); var_dump( wddx_deserialize( wddx_serialize_value( $data ) ) ); highlight_file( __FILE__ ); ?> Expected result: ---------------- array(2) { ["123"]=> string(4) "zahl" ["Foo"]=> string(3) "bar" } array(2) { ["123"]=> string(4) "zahl" ["Foo"]=> string(3) "bar" } Actual result: -------------- array(2) { [123]=> string(4) "zahl" ["Foo"]=> string(3) "bar" } array(2) { ["123"]=> string(4) "zahl" ["Foo"]=> string(3) "bar" } ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=34068&edit=1

« previous php.bugs (#83308) next »