Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:111726 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 83825 invoked from network); 30 Aug 2020 17:18:09 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 30 Aug 2020 17:18:09 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 3650A1804C0 for ; Sun, 30 Aug 2020 09:22:20 -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=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11olkn2099.outbound.protection.outlook.com [40.92.18.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sun, 30 Aug 2020 09:22:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RGvAHMDhPjRlGssVGD2puhZOCgsYFB2W3xKQWown3hW3W/6gSxrQh3B6xJfvNBkAvsrJQsjsdbnov+h1hn9TeGpAED59hfFvc1+BM1x8rXnz4IAbhx8VUZl3nVXZiqGcUHutZjlsRn6nmFV+WApvVLX97NotemPxv01AmX+J4t0aFKemDG60ohECxQPH1o7qWOsH8oXgGs9dhPWsmFPadSHv/f8Wgiuhv4NiPj3APsw/2dHw+lLvaQUPHSqY+Q84HLfkP12WKKIvMqVr3/rK2Rp5T3VlGDo/ySyv50bDL191k59ud5lnd4rCoi/Jb4CkO2Df8t8afe9u5xXTj1i05Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gortGLMORshnjZ5NQfoac84RrywRHuzT69LeUSqpvHM=; b=HWsDeE/4ZkO526XxC/JKNlT/38zlIjCk+nTyaAOZQrARNwDVeRB5z4Toe1gCCj6cE/yXD1ILwMbx47isxYHlY2pVodvhnQ13zPAC3bNru/M7jOPfmvW2fN55hsbbB2aEWmGIW0TJ6NucXWpyWsj2u7mUvJhnwt15umKPtdaqdgv6P8iWFawzjOxgHtXuX0NZhvUTXIBCswudwtnmL11oABEC2Hvwt/EwVMjaIb5/MEh55cGAUu+tMEoN59o/2Od3ewkkLkE7uwrJQ7J74uEhU3iETC+9L8b5WeblJe+l+Cw7lFxd3xaWwMRBd1KBVnG4g/548PEtWuez/UnY/9C3pw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gortGLMORshnjZ5NQfoac84RrywRHuzT69LeUSqpvHM=; b=EJp3bRQzDQpiZZOmNL6B9Aj7QQly8v1bBRODLRbUwbTLKlOF7UaHtifOkI41mLXbfzpT9ZdMwUUzN2QS8RUqfXIWpOqHt3O2af0xE9hNAOyye+SHBtcZwKWBGB9q03xqoptpBa6uCP/9hvhEhfBMYAo15ir90dZ6mO/wXg2oOJY3vS5RuvizNt0qna54jxKaLJzz9QF3FeM3VBFz/Md3dYJJ7xDyahvrgdmcPy+VHn1BPyMk61UVIiQVIUR1RXA/wJ997K+9KTZdLMxXOMgzDHjfWofUCOGikRzkw9ocqO/og6vRaxs36lMxFrRAEkk+x+/KeRTUVuGSDFO/b9Fykw== Received: from CO1NAM11FT038.eop-nam11.prod.protection.outlook.com (2a01:111:e400:3861::40) by CO1NAM11HT025.eop-nam11.prod.protection.outlook.com (2a01:111:e400:3861::379) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3326.21; Sun, 30 Aug 2020 16:22:18 +0000 Received: from DM6PR07MB6618.namprd07.prod.outlook.com (2a01:111:e400:3861::48) by CO1NAM11FT038.mail.protection.outlook.com (2a01:111:e400:3861::231) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3326.19 via Frontend Transport; Sun, 30 Aug 2020 16:22:18 +0000 Received: from DM6PR07MB6618.namprd07.prod.outlook.com ([fe80::f9d1:ed5b:8625:bfb4]) by DM6PR07MB6618.namprd07.prod.outlook.com ([fe80::f9d1:ed5b:8625:bfb4%7]) with mapi id 15.20.3326.025; Sun, 30 Aug 2020 16:22:17 +0000 To: Marco Pivetta CC: PHP internals Thread-Topic: [PHP-DEV] Proposal: Adding functions any(iterable $input, ?callable $cb = null, int $use_flags=0) and all(...) Thread-Index: AQHWfj2/bRooGr39CkeRSgZBGY4s+alQA9YAgADRkuE= Date: Sun, 30 Aug 2020 16:22:17 +0000 Message-ID: References: , In-Reply-To: Accept-Language: en-CA, en-US Content-Language: en-CA X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:64AAF5B775A57F163D59F731B7EDF9C0534381AE287AFD4D13F9681D83B3E13F;UpperCasedChecksum:D9587D106CD237595A0D799400DFD6C3AB44EC44FCA12D3A42FEF8A31E597A18;SizeAsReceived:7296;Count:45 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [p4FZUDaw6FRmq5gg1ew3I7uNdxhOAJAtPzAqLQ7DaBotCQ/ERrXuXjqApE3TK8oy] x-ms-publictraffictype: Email x-incomingheadercount: 45 x-eopattributedmessage: 0 x-ms-office365-filtering-correlation-id: e127ecde-a75b-4fa0-c2e5-08d84d00dd38 x-ms-traffictypediagnostic: CO1NAM11HT025: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: qc+a2ZdaF+ORjH81kXuSs0JimnEQqDVV63KX4ya5M02ZHBTIdmFOp+hesyXQ37vNKJrTX3ebsSE7ubJWbTvLm2mURwtfWkYgl9tLlZbZuByzxIjZaBIY/pInQM1FecWfUsJWhzjIynvydRjdO9G0UDRoUd/DRsjaGGOOMrq4Sw0qanzNLw6Kzw8k26roxuRnNcB4Gtu+Z3N/YHnF7Ar6bQ== x-ms-exchange-antispam-messagedata: 3iY/fK0dQhtPK7OJwkxMYixUvc1/qdOj/KsilPgmjsK2Wmhi7e6iEXFRClGzk+EKlMb0FRLsPm/vqTb6m6dRFc9tSRpaMpspCd6/iq0ov7MBWiyl3Q9fqwcTsfOhfRC7q+WVR1K3vopRDsaHZ8j5aAdqkpa2h7Gmlp0UDIdp0A7rLAoYiQugVyDCpYj7QYP37mM6pSY+XpgaGSGD7LhorQ== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT038.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: e127ecde-a75b-4fa0-c2e5-08d84d00dd38 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Aug 2020 16:22:17.8989 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1NAM11HT025 Subject: Re: [PHP-DEV] Proposal: Adding functions any(iterable $input, ?callable $cb = null, int $use_flags=0) and all(...) From: tysonandre775@hotmail.com (tyson andre) Hi Marco Pivetta,=0A= =0A= > Would it make sense, instead of having a third boolean parameter (causing= two parameters to be coupled together - already quite messy with existing = array functions) for `any()` and `all()` to just detect if the given callba= ck requires >1 parameter?=0A= > =0A= > That would make this much simpler.=0A= =0A= I find that to be inconsistent with how other internal functions accepting = callbacks such as `array_filter` behave.=0A= It would also be unexpected if users or tooling wrap callbacks with other c= allbacks.=0A= Developers would also expect `func_get_args()` to work.=0A= =0A= ```=0A= $predicate(...$args));=0A= }=0A= // PHP can't distinguish between these when given `fn(...$args)`=0A= // - would throw if passed 1 parameter=0A= my_none($values, fn($value, $key) =3D> $value =3D=3D true || $key =3D=3D 'x= ');=0A= // - would throw if passed 2 parameters (too many)=0A= my_none($values, 'is_string');=0A= ```=0A= =0A= Thanks,=0A= - Tyson=