From:             [EMAIL PROTECTED]
Operating system: All
PHP version:      4.1.1
PHP Bug Type:     Feature/Change Request
Bug description:  Internal pointer stack for arrays, to solve pointer problems

There are many occasions where an array's internal pointer gets modifed by
a function that requires a traversal for one reason or another (e.g.,
foreach, array_walk, etc.). This often messes with the continuity and
readability of the code. For example, some sort of a workaround is required
if one wants to nest a foreach statement within another operating on the
same array. Often these workarounds involve various traversals or copy
operations and can cause serious performance issues with larger array.

A simple solution for this is to provide for an internal pointer stack. I
propose two functions:

void pos_push(array array);
mixed pos_pop(array array);

The function pos_push merely pushes the internal pointer position onto the
pointer stack. The complementary function pos_pop pops the internal pointer
off of the stack and returns the resulting current value of the new
position in the array.

This is easy to efficiently implement through a linked list stack specific
to each array. The memory usage is minimal, and overhead is slight. The
stack could store the actual position pointers. Of course, that means care
would have to be taken if an element that was been stored on the stack was
deleted.

-- 
Edit bug report at: http://bugs.php.net/?id=14920&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to