From: dave at smartboy dot com
Operating system: Linux
PHP version: 5.4.8
Package: SPL related
Bug Type: Bug
Bug description:SplObjectStorage should work more like a real array()
Description:
------------
Attempting to use instances of class SplObjectStorage as an array results
in
exceptions and generally does not work as expected.
Test script:
---------------
$s = new SplObjectStorage;
$o = new stdClass;
$s[$o]["key"] = "value";
var_export($s[$o]);
// Fatal error: Uncaught exception 'UnexpectedValueException' with message
'Object not found'
Expected result:
----------------
The above sample code should create an array for the object key inside
SplObjectStorage, and display:
array (
'key' => 'value',
)
Compare the above code with:
$s = array();
$o = "someKey";
$s[$o]["key"] = "value";
var_export($s[$o]);
which works as expected and displays
array (
'key' => 'value',
)
Actual result:
--------------
Fatal error: Uncaught exception 'UnexpectedValueException' with message
'Object
not found' in Command line code:1
Stack trace:
#0 Command line code(1): SplObjectStorage->offsetGet(Object(stdClass))
#1 {main}
thrown in Command line code on line 1
--
Edit bug report at https://bugs.php.net/bug.php?id=63449&edit=1
--
Try a snapshot (PHP 5.4):
https://bugs.php.net/fix.php?id=63449&r=trysnapshot54
Try a snapshot (PHP 5.3):
https://bugs.php.net/fix.php?id=63449&r=trysnapshot53
Try a snapshot (trunk):
https://bugs.php.net/fix.php?id=63449&r=trysnapshottrunk
Fixed in SVN: https://bugs.php.net/fix.php?id=63449&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=63449&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=63449&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=63449&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=63449&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=63449&r=support
Expected behavior: https://bugs.php.net/fix.php?id=63449&r=notwrong
Not enough info:
https://bugs.php.net/fix.php?id=63449&r=notenoughinfo
Submitted twice:
https://bugs.php.net/fix.php?id=63449&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=63449&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=63449&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=63449&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=63449&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=63449&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=63449&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=63449&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=63449&r=mysqlcfg