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