On Tue, Jun 18, 2013 at 11:07 PM, Sherif Ramadan <theanomaly...@gmail.com>wrote:

> On Tue, Jun 18, 2013 at 10:58 AM, Levi Morrison <morrison.l...@gmail.com
> >wrote:
>
> >
> > I'm starting up a thread for discussion on Pull Request 287
> >> https://github.com/php/php-src/pull/287 (allowing array keys to be
> passed
> >> to the callback function of array_filter through a third optional
> boolean
> >> argument). I would like to merge this into master and as discussed on
> IRC
> >> it would probably be a good idea to startup a discussion and make sure
> >> there aren't any objections or clarifications not yet voiced.
> >>
> >> The patch has no BC because the third argument is optional and defaults
> to
> >> false. Personally, I have always thought it would be a good idea to be
> >> able
> >> to get the keys into the array_filter callback since I've stumbled
> across
> >> a
> >> few scenarios where that would have made things easier.
> >>
> >> I'm not sure if there are any particular down sides to this option being
> >> added, but none that I can find. It currently passes all tests in master
> >> and works as expected.
> >>
> >> Thoughts, opinions, objections, concerns?
> >>
> >>
> > It might be considered a BC break, but I really think we should drop the
> > boolean argument; just have it pass the key as parameter 2 always.
> >
>
>
> See the discussion on github for that PR
> https://github.com/php/php-src/pull/287#issuecomment-14175109unfortunately
> we can't do that as it will break lots of userspace code that might be
> doing stuff like array_filter(['foo','','bar'], 'strlen') where strlen only
> accepts a single argument and in those cases the result will be triggering
> lots of warnings and failed code.
>

The danger actually lurks in the cases whereby the second argument is
accepted and with that (sometimes radically) change the semantics of the
function; in fact, quite a few internal functions have this kind of
switch-by-argument behaviour, such as "array_keys" to randomly name one.
 And admittedly, this function when my PR goes through ;-)



-- 
--
Tjerk

Reply via email to