Patch for adding elements to ArrayAccess

php.internals

Simeon Koptelov

22 years ago
Hello internals, Could anyone who can commit to CVS review this patch and commit it if it's OK? The patch was made for php5-200401021030 snapshot, the file zend_object_handlers.c. It fixes the bug that using $a[] = 'Something' where $a is instance of ArrayAccess will invoke offsetSet() with empty offset.

Derick Rethans

22 years ago
On Sat, 3 Jan 2004, Simeon Koptelov wrote:
> Could anyone who can commit to CVS review this patch and commit it if it's OK? > The patch was made for php5-200401021030 snapshot, the file > zend_object_handlers.c. It fixes the bug that using $a[] = 'Something' where > $a is instance of ArrayAccess will invoke offsetSet() with empty offset.
Can you please provide an unified diff (diff -u) against the latest CVS version? regards, Derick

Marcus Börger

22 years ago
Hello Simeon, Saturday, January 3, 2004, 2:04:45 PM, you wrote:
> Hello internals,
> Could anyone who can commit to CVS review this patch and commit it if it's OK? > The patch was made for php5-200401021030 snapshot, the file > zend_object_handlers.c. It fixes the bug that using $a[] = 'Something' where > $a is instance of ArrayAccess will invoke offsetSet() with empty offset.
That's avery bad thing because you check all possible values. And meanwhile we already decided not to support $a[] with ArrayAccess. If you really want it then i would sugget that the index/offset passed to offsetSet is NULL.
-- Best regards, Marcus mailto:helly@php.net

Andi Gutmans

22 years ago
I don't think the ArrayAccess interface should work with the $a[] notation. I think E_ERROR is appropriate. Andi At 07:04 PM 1/3/2004 +0600, Simeon Koptelov wrote: