#45959 [Opn->Asn]: Object to array conversion leads to weird behaviour
| From: | felipe@php.net | Date: | Sat, 25 Oct 2008 15:34:23 +0000 |
| Subject: | #45959 [Opn->Asn]: Object to array conversion leads to weird behaviour | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-130096@lists.php.net to get a copy of this message | ||
ID: 45959
Updated by: felipe@php.net
Reported By: manchokapitancho at gmail dot com
-Status: Open
+Status: Assigned
Bug Type: Scripting Engine problem
Operating System: windows xp
PHP Version: 5.2.6
-Assigned To:
+Assigned To: felipe
Previous Comments:
------------------------------------------------------------------------
[2008-08-31 13:53:10] manchokapitancho at gmail dot com
Also array_key_exists returns false instead of true.
------------------------------------------------------------------------
[2008-08-31 13:52:29] manchokapitancho at gmail dot com
Description:
------------
Object to array conversion leads to weird behaviour - access to array
members is not possible.
Reproduce code:
---------------
$input = json_decode
('{"is_paid":{"0":"4","1":"3"},"is_bank_transfer":{"4":"1"}}');
$arr = ((array)$input->is_bank_transfer);
var_dump($arr);
var_dump($arr[4]);
var_dump($arr['4']);
$keys = array_keys ($arr);
var_dump($keys);
var_dump($arr[$keys[0]]);
Expected result:
----------------
array(1) {
["4"]=>
string(1) "1"
}
string(1) "1"
string(1) "1"
array(1) {
[0]=>
string(1) "4"
}
string(1) "1"
Actual result:
--------------
array(1) {
["4"]=>
string(1) "1"
}
NULL
NULL
array(1) {
[0]=>
string(1) "4"
}
NULL
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=45959&edit=1