On Mon, 21 October 2024 г. at 18:13, Gina P. Banyard <intern...@gpb.moe> wrote: > > On Monday, 21 October 2024 at 14:29, Ilija Tovilo <tovilo.il...@gmail.com> > wrote: > > > Hi Gina > > > > On Mon, Oct 21, 2024 at 3:21 PM Gina P. Banyard intern...@gpb.moe wrote: > > > > > On Sunday, 20 October 2024 at 18:42, Gina P. Banyard intern...@gpb.moe > > > wrote: > > > > > > > https://wiki.php.net/rfc/array-sort-return-array > > > > > > For an example, I'm going to pull out my solution to day 1 of the 2022 > > > advents of code: > > > > > > https://github.com/Girgias/advent-of-code/blob/19283e1f5ef503c8a4478e58aaa57ff2fb7164c7/2022/01/puzzle.php#L25 > > > > > > However, if the sort functions would return a useful value instead of > > > `true` I could chain it together completely as follows: > > > > > > $top3 = array_slice( > > > rsort( > > > array_map( > > > 'array_sum', > > > array_map( > > > fn($v) => explode("\n", $v), > > > explode( > > > "\n\n", > > > $input > > > ) > > > ) > > > ) > > > ), > > > 0, > > > length: 3 > > > ); > > > > > > Note that your example would still warn after this RFC, which is > > likely enough to deter people from writing code like this. > > > > https://3v4l.org/mRuoK > > There is a very simple fix, which is to add the /** @prefer-ref $array */ doc > comment to the stub of the relevant functions. > Something that array_multisort() already does. > But thanks for reminding me how crap PHP references are :D > > I'll amend the RFC soon to include this change as part of the proposal. > > Best regards, > > Gina P. Banyard
Hi, Gina! What if instead of this proposal we reimplement all of the array functions in a different namespace and fix a lot of other problems and inconsistencies? Array\map(iterable $iterable, callable $mapper): array Array\sort(iterable $iterable, int $flags = SORT_REGULAR): array ... -- Valentin