Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:120489 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 75862 invoked from network); 31 May 2023 21:07:20 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 31 May 2023 21:07:20 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id EC11C180382 for ; Wed, 31 May 2023 14:07:18 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 31 May 2023 14:07:15 -0700 (PDT) Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-3f6042d610fso1229515e9.1 for ; Wed, 31 May 2023 14:07:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685567234; x=1688159234; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=/Nf8jXHktbaeOi/EkViqB/Zzp0CZCTSlhuNk4OSRpUE=; b=AaR3EZlAE/BeyDCZQje85WK1yLYxPM7gV3f4Hn2i2UNNe8dTeBtcdEZpX2x7UMiZOV StGuLBGAyBhImVpiafrBN7Eam7bfWs+E0FILXQbNQOlXQHDawYos/22l8QwlOgJvxtor cjqaxnMRS3vVjXMR5ptveeQLss2CIZJMx375zAlGEB45CgelsHfeCswaz1EsaHBJfB8a qSwxSWzKiBohwRT40b1MGp5AJ7wdo5nALuDCboa+/WVOPFLUt81uapnxVeIVE5M0l161 r9Y63pcnRkyzQLslRHzRlJKAMnNvC1BsSXPBdOeLsO3/nsEwi6cJ/iC3i2kFLwtbMGUa nBjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685567234; x=1688159234; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/Nf8jXHktbaeOi/EkViqB/Zzp0CZCTSlhuNk4OSRpUE=; b=LFcv8wROh4CMh6lOou5ha1V3WtimIwoduW2Flhh5Rzc017IP3Kpx3Yfxhrpg4hcWcb hPC+P0Pr1SihTn+vaOlKuLmy2TNO6yU4+23KnGMbP1xAolna62NqYq+173tt5kODaWhM Jq47qk9i4CVwXejDfvpALU6owwmWeGjjcRC1GII3r54qOB8PLaaY2XvwfLgHbO3JygpD n1IKi7OC1FZhU5VDkXfJKh7VBnVTCLn+H4DSII+UhDcAwTSQZVDgbRZYBEXcpG4CewYz l61wSL6WNgsHLATg3haK+XAFfdqT4ySLLOmdKat8VQFkRRk4GCNQ4fD56AjRlc257VdU +kaA== X-Gm-Message-State: AC+VfDxbuhlpblfU7gZc4+fejKEIpsNOV56vtjpal1AKDpmK890Dzx+M 5cFwfzqn5RurqiduR685JLqiTgUydIEUtQr3xT0= X-Google-Smtp-Source: ACHHUZ4O7W+OUCcIDLmbNqhEszACwQsrMfKGZAi1A1tb2P3vCAWXF0d7G3N16ITxiA4si+BRGUsYWEmMHGarULNtab0= X-Received: by 2002:a7b:cd15:0:b0:3f6:1377:8b15 with SMTP id f21-20020a7bcd15000000b003f613778b15mr442436wmj.21.1685567233667; Wed, 31 May 2023 14:07:13 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:adf:fac3:0:b0:30a:e8ac:90c4 with HTTP; Wed, 31 May 2023 14:07:13 -0700 (PDT) In-Reply-To: References: <289E585B-EF8B-4B17-89BE-BE8295FD9FE1@gmail.com> <12bede25-36ad-037d-8802-6348da7a2e3d@alec.pl> Date: Thu, 1 Jun 2023 07:07:13 +1000 Message-ID: To: =?UTF-8?Q?Rokas_=C5=A0leinius?= Cc: "internals@lists.php.net" Content-Type: multipart/alternative; boundary="00000000000035387905fd03b4e6" Subject: Re: [PHP-DEV] [RFC] [Discussion] Add new function `array_group` From: mickmackusa@gmail.com (mickmackusa) --00000000000035387905fd03b4e6 Content-Type: text/plain; charset="UTF-8" As an answerer and curator of many [php][arrays][grouping] tagged questions on Stack Overflow for several years, I'd like to mention that developers' non-SQL grouping needs are much more nuanced than merely defining group qualification and creating subarrays. Often devs will want to sum, count (increment a counter), concatenate another column (or columns), or otherwise mutate the encountered row in each group. Have you considered the extendability of your pitched function? Without these extra considerations, devs would need to make another pass over the new nested structure. mickmackusa --00000000000035387905fd03b4e6--