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

Reply via email to