Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:102773 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 58433 invoked from network); 11 Jul 2018 19:08:05 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 11 Jul 2018 19:08:05 -0000 Authentication-Results: pb1.pair.com smtp.mail=enno.woortmann@web.de; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=enno.woortmann@web.de; sender-id=pass Received-SPF: pass (pb1.pair.com: domain web.de designates 212.227.17.11 as permitted sender) X-PHP-List-Original-Sender: enno.woortmann@web.de X-Host-Fingerprint: 212.227.17.11 mout.web.de Received: from [212.227.17.11] ([212.227.17.11:33621] helo=mout.web.de) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id EA/00-57182-395564B5 for ; Wed, 11 Jul 2018 15:08:05 -0400 Received: from [192.168.0.51] ([77.21.86.66]) by smtp.web.de (mrweb103 [213.165.67.124]) with ESMTPSA (Nemesis) id 0LtFQN-1g5lUL3UMt-012llo; Wed, 11 Jul 2018 21:07:50 +0200 To: Levi Morrison Cc: Christoph Becker , =?UTF-8?Q?Bj=c3=b6rn_Larsson?= , mail@pmmaga.net, me@jhdxr.com, internals References: <13b4eb91-6566-3724-d45d-aa63254e1f58@telia.com> Message-ID: <4136e73c-6c64-3168-39c5-c574d5a5730e@web.de> Date: Wed, 11 Jul 2018 21:07:51 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Antivirus: Avast (VPS 180711-12, 11.07.2018), Outbound message X-Antivirus-Status: Clean X-Provags-ID: V03:K1:e/zRQKU0PFH61Hohn7aIeBC/EgqHttF36fvyTtjWQ5EUUvw21WP X9/nBCAa4e0WNOkTPuapnQ3D9N/CMzNaR20x8jmM9bEB1HDvrYY4EdmcNzNFZsTQnL5aXKy ON7piq+fi7TYpYCgturqQYzmAIezJ7AawCVTFSK9Y5Ony1yJ1eSjdO9nmzf/A6qr1b0ajOz pVI8SUNid8gE+/9LwtaMQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:xT2sN4Drvm4=:IKfXQp/nHTW8v515lRaIk9 ODVARz/KqvWGNAipCe/71T5k0G5p6jo1gim+tn7FO/DRF7vH2lG5Uyve5ZOpL5tXYsOMi5ZVe 12p3e47V5Fzqp5Phfxvd7xjmyGB0w6OCxWuWVoA3qUGKVj2FijvpgtaNETSVERVMFOQBI0UiK HqH7PHw5sbOuplnozuj/trqF7B3l+DLUlJyiXrEWwnTacMhigayc5lr2AXRxolpB9r2NVqiu8 01KWVlbjl/A1stqUEb0jzJtGfUPflg3depQNN1/qGNgBK7Q9C8Wp0YMku4kupz5lvG0rj85GQ X5HuhgAJEnWKxei/j1Ms+SevBqtkpnmWcEjgkF8XzXaFSMY9JE+Ymf/16sVEXyaRQYKdcBrOD Gd6cO59hB4919nVGhdlDaXgzU7GCFxxC6Bm9AfC9UuIP+Jd2YWoGRvNmdO8lForp6L7AsUi4C RMT7qHtJCpoKl9Pei0OGK5ReOCJkx07bZtAYDLwjFDVsG+4muQHZv8IRFuSTk1GaKLfevMDfE auFg2mhHve8ho2Zp41BAAQ8nzo2x816sYDxnUewQNLrQcf4r/5ag2E9ULQb/bJq/g1aF2mYpl Me+0h/3brpW0FjhnFl3mI/JCVZlVac3VJAdbjnz+Z2lXZlZ+pQ6vHLFQPd2cJ9T/Cg8xXu4sl DCOieEHjlCM8WrVS/01qbJkwCRnXCm2qy+Rr1h5M53heDZtoISTY1Vk5o5cuoAc5xiVxaEmFy e1+xTjNzQEt3nRrU6ih/GPeKiYV64okzS7P0oSEXm4w5MerTT/4+5+kM1//RxDIYHt1sXNvZL ofFfU3M Subject: Re: [PHP-DEV] Re:[PHP-DEV] [VOTE] array_key_first(),array_key_last(), array_value_first(),array_value_last() From: enno.woortmann@web.de (Enno Woortmann) Am 11.07.2018 um 20:18 schrieb Levi Morrison: >> In my opinion neither rejecting the RFC nor changing it to return tupl= es >> solves the underlying problem. > What is the underlying problem in your opinion? > > My opinion is that the core problem is that these functions cannot be > efficiently implemented in userland, at least not the ones that get > the last key and/or value of the array. You either need to make a copy > or traverse through the whole array. With the problem I didn't aim at the problem this RFC tries to solve. I=20 think everyone participating in the discussions in the mailing list=20 understood the problem of non efficient userland implementations. I aimed at the issue which lead to the gap between our implementation=20 approaches: the indistinguishability between a correct function call=20 which returns null and an invalid call with either an empty array or a=20 non array value. As this is an existing problem I still think we should find a common=20 solution (which can't be part of this RFC's scope) instead of bringing=20 up new function signature patterns for new functions.