Bug #80380 [PATCH]: Cannot access numeric property in ArrayObject
Edit report at https://bugs.php.net/bug.php?id=80380&edit=1
ID: 80380
Patch added by: cmb@php.net
Reported by: anton at rudnikov dot net
Summary: Cannot access numeric property in ArrayObject
Status: Verified
Type: Bug
Package: SPL related
Operating System: any
PHP Version: 7.4.12
Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
The following pull request has been associated:
Patch Name: Fix #80380: Cannot access numeric property in ArrayObject
On GitHub: https://github.com/php/php-src/pull/6436
Patch: https://github.com/php/php-src/pull/6436.patch
Previous Comments:
------------------------------------------------------------------------
[2020-11-19 11:34:02] cmb@php.net
Given that numeric properties are accessible after array
conversion as of PHP 7.2.0, it seems wrong that this is not the
case with ArrayObjects.
------------------------------------------------------------------------
[2020-11-19 09:42:17] anton at rudnikov dot net
Changed package
------------------------------------------------------------------------
[2020-11-19 09:33:57] anton at rudnikov dot net
Description:
------------
I pass an object to ArrayObject constructor, and trying to access its properties. I can access
string properties, but I can't access numeric one
Test script:
---------------
<?php
$object = new stdClass;
$object->prop = 'test1';
$object->{'1'} = 'test2';
$arrayObject = new ArrayObject($object);
echo $arrayObject['prop']; // test1
echo $arrayObject['1']; // Undefined index
$arrayObject = new ArrayObject($object, ArrayObject::ARRAY_AS_PROPS);
echo $arrayObject->prop; // test1
echo $arrayObject->{'1'}; // Undefined index
Expected result:
----------------
test1
test2
test1
test2
Actual result:
--------------
test1
Notice: Undefined index: 1 in /in/9UdHs on line 9
test1
Notice: Undefined index: 1 in /in/9UdHs on line 13
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=80380&edit=1
Thread (8 messages)