----- Original Message -----
From: "Moriyoshi Koizumi" <moriyoshi@at.wakwak.com>
To: <pollita@php.net>
Cc: <internals@lists.php.net>
Sent: Friday, May 16, 2003 9:22 PM
Subject: Re: [PHP-DEV] Bug 23654: str_replace doesn't handle
multidimensional arrays
> <pollita@php.net> wrote:
>
> > > > I've got fixes for str_replace to let it handle multidimensional
arrays,
> > but
> > > > I'm not sure if it should be applied to the 4.3 branch or not.
> > > >
> > > What is your fix like? Actually the current behaviour is ugly, but I
don't
> > > see the idea str_replace() should always be able to handle multi-dim
> > > arrays as not all the users want it to do so. At most we'd be better
off
> > > if nested arrays were ignored.
> > >
> > That may be the better way to go. The fix I've got will traverse down
the
> > array reentrantly, but it's occured to me that it'll choke on a
recursive
> > array structure (i.e.: $array[] = &$array; ) That's fixable too of
> > course, but it starts to get progressively ugly. Simply patching in
this
> > should do what you describe and keep everyone happy without making a
> > significant change in branch. Maybe 5.0 can include an option to
traverse
> > down, maybe not...
>
> Recursive arrays can be ignored because it is by no means a desired
> behaviour IMO.
>
> Anyway do we have to introduce str_replace_recursive() in 5.0 ? :) or most
> likely the fifth argument?
Little problem is that the fourth parameter should be real var (as far as I
can see),
and ppl who want to use the recursive behaviour should pass a var.
Maybe if the fourth argument is not real var then use it as bool for the
recursive stuff.
On the other hand if it is real var then check for the 5th parameter. Too
confusing, isn't it :)
Andrey