ID: 33015 Updated by: [EMAIL PROTECTED] Reported By: pecoes at xs4all dot nl -Status: Open +Status: Feedback Bug Type: SPL related Operating System: * PHP Version: 5.* Assigned To: helly New Comment:
Yep it's me alone. I'll do something as soon as i find ime then. How about some exchangeArray() method that drops the current array and replaces it with the given one. So the following would do what you want: class ArrayObjectEx extends ArrayObject { function __construct() { $this->exchangeArray($this); } } $obj = new ArrayObjectEx; Previous Comments: ------------------------------------------------------------------------ [2005-05-17 13:42:33] pecoes at xs4all dot nl Thanks for the offer, but I'm not in need of a work-around. IMHO it would be great to have a "simple" solution - "simple" from a user's perspective :) You've created some pretty fascinating stuff with the SPL and from the looks of it, you're doing this all alone right now, so I really don't want to rush you... Just tell me how big the chances are in the long run! ------------------------------------------------------------------------ [2005-05-12 23:15:00] [EMAIL PROTECTED] I could equip you with a special factory method or a derived class that does this. But the way it works it is not possible to achieve what you want with ArrayObject and its current constructor. ------------------------------------------------------------------------ [2005-05-12 12:32:44] pecoes at xs4all dot nl Description: ------------ It's pretty counter-intuitive, that you can neither access an ArrayObject's properties with the array-syntax, nor its array-values with the object-syntax. I think these two should be interchangeable. Preferably like in ECMAScript... Reproduce code: --------------- $a = new ArrayObject(); $a->one = 1; $a['two'] = 2; echo "\$a->one: $a->one \$a->two: $a->two \n"; echo "\$a[one]: $a[one] \$a[two]: $a[two] \n"; Expected result: ---------------- $a->one: 1 $a->two: 2 $a[one]: 1 $a[two]: 2 Actual result: -------------- $a->one: 1 $a->two: $a[one]: $a[two]: 2 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=33015&edit=1