This is a great suggestion Hendra, I really believe that it may take
the new function to another level, but - with Larry's comment in mind
- this is a language design more than function design. Supporting the
list/array comprehensions will be a great step for PHP, as I can
remember that Nikita already implemented something like this
https://github.com/nikic/scalar_objects as a workaround but I am not
sure why does this was not implemented in the core yet. Almost all of
the array_* family functions - including array_column - can be
achieved by a `foreach` call. so I do not believe that we need to
decline the new function and maybe in the future, we can add more of
your suggestions for it. especially the `map` parameter which IMHO is
a promising addition, it can be a mixed argument [ string, array,
callable ]. BTW your thoughts led me to change the order of the
arguments for the new function to be `array_group($array, $index,
$columns)` I will update the RFC with this.

~Hassan Ahmed.

On Tue, Dec 7, 2021 at 5:01 AM Hendra Gunawan
<the.liquid.me...@gmail.com> wrote:
>
> >
> > Better map/filter/reduce primitives in PHP would be dandy, but they have
> > nothing to do with array grouping. They're a separate operation that should
> > be composed with grouping. Packing them all into a single function sounds
> > like a terrible idea.
> >
> > If we wanted that... that's called list comprehensions, which I would
> > support and even tried to rally support for a few years ago, but got met
> > with a big shrug. :-)
>
> `array_group` is just a simple handy tool which can manipulate a bunch of data
> without touching SQL, DQL, query builder, or any producer anymore just to 
> align
> the output to the need.
>
> Of course we can code with whatever programming paradigm or style we want,
> especially if the algorithm is much more complex. Here, i offer you the very
> basic functionality and without external library. So my coworker does not have
> to dig into that library, or ask me.
>
> The original proposal is to offer grouping, and may be to avoid `foreach`.
> I think if the only purpose is to group an array, it is halfly baked function-
> ality. Previously, I had shown you that `foreach` is not too bad to use.
> Otherwise, I will suggest to the author don't bother with new function, you're
> wasting your time. With that original proposed functionality, We have to use 
> an
> additional `foreach` or function call even though it is a basic operation.
> Moreover, the original purpose is preserved, if we do not give any optional
> params.
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: https://www.php.net/unsub.php
>

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: https://www.php.net/unsub.php

Reply via email to