I think this would be quite a useful feature, and am In favor of it.
However, I think caution should be taken when shifting array utilities out
of their remit and allowing them to manipulate / traverse other data types.
You may see the floodgates opening for more request to adapt array functions
for other uses.

Say for instance..

Could we also use current(), next() and key() for iteration of strings?

$string = 'string';
while ($char = current($string))
{
echo key($string)   // Would output the offset position I assume 0,1,2 etc??
echo $char          // outputs each letter of string
next($string);
}

Lee

On Mon, Jun 20, 2011 at 12:27 PM, Robert Eisele <rob...@xarg.org> wrote:

> foreach() has many functions, looping over arrays, objects and implementing
> the iterator interface. I think it's also quite intuitive to use foreach()
> for strings, too.
>
> If you want to implement a parser in PHP, you have to go the way with for +
> strlen + substr() or $x[$i] to address one character of the string. We
> could
> overdo the functionality of foreach()
> by implementing LVAL's, too, in order to access single bits but this is
> really uncommon, even if the way of thinking could be, that foreach() gives
> a single attribute of each value, no matter
> if it's a complex object with the iterator interface or a primitive. What
> do
> you think about this one? My point of view is, that foreach() is very
> useful, which was acknowledged by many ppl via the comments of my article.
>
> I think, adding features like this persuades the one or the other PHP user
> to upgrade to 5.4.
>
> Robert
>

Reply via email to