Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127078 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id 37FF11A00BD for ; Tue, 8 Apr 2025 22:22:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1744150776; bh=4Nhx+VPLk2GBE+jd2dwx2HwRKnHSCvV1zJuFi2nekm0=; h=Date:Subject:To:References:From:In-Reply-To:From; b=htmUgg1AWdYrfUVAoL0SzZsPkMBYrqm7AXDtaomJdBrTjSzwJa8XDn9xM39O77sbM dpCdsTMm0p1/LJ8sj7iKLsvBw+rAUc7AWPKTqsyoF6bum7uztkR4KQsIpzcL8LjI9Y 3n517U3b5kN+2DuDz7T3muQplr48W7h9MjSoMuzrIJpZmZ8vCw2Uhx5fFdg8Q2IUvE fPyc6q4Pw5smELmNlte17rVAPBKAzr9HqH3kxd+bTuMyFL9jYucx4uFWBBRd3QripA h2Jb9q5zR6fFMVOkJyigSGHD2z3IsU17M4u0iQqeoFqLoGXzjRAJPBAFoOn578kgpB 41E1I+5yvruvA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 289BA180079 for ; Tue, 8 Apr 2025 22:19:36 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 8 Apr 2025 22:19:35 +0000 (UTC) Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-39c1ef4acf2so3711949f8f.0 for ; Tue, 08 Apr 2025 15:22:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744150919; x=1744755719; darn=lists.php.net; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=9F859/3Yp4yvkyQWhsC5BG8trRQ8VysiWR3MI9nikZw=; b=QNYJVc9yJc0afkfFJAgK7lhtm6Xv1sRQBEK0Z3G832p75N+btT7l4zEwvvZQcTBS4Y aU4QlgqjWUh5F2g9LVf9UfFyzTwDP3RAoqZCeIJ3ts4IQmA3S6uCuLqNGFfl1VXcLgUC CS9CbLU/IGTc8LJD1TvADSGSjErSgnZg0GI9saIwbHz/dQrc/ANE4LWOnACwyVHpZ7G9 D1IXgkj4m289ND9OG8Hd4BQsDVH0GgcpmRn6Tf9zqUnb5tHfwVe5+yyxAO8wpTv5m1pw s5VK5eAGQCtaIfcJm0Fj6Oq+zYJx3J6Ojg3y3YZ2SkLasyXlNw4v6FwO0Z5okYcJeClR oEJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744150919; x=1744755719; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=9F859/3Yp4yvkyQWhsC5BG8trRQ8VysiWR3MI9nikZw=; b=gX0HSfEDGTrbhSPYJLY8YyFy+GTX/QPERY+V0OasXAOPK3Xqlj/XDJLsC5jqK0+y7T AKsORBOVYwzyEfQtdDnv/l2+rVTkPQoAeIJFpviPIlYzVvuu+Y58+OCuyZpH4oOiPqPI +9Log44EGaCnPL006QvstuaztpvCC5D9czvhWa0zrWys5GWD7Eew2e7ytKF7BTzRj5/r 65H3a61f29/e+zeEKXC+l/9zscNluaG88dCU3Bm7jsOTVt4rVJI/XV5NqyctaVICGEd6 xuleQMVOHAoMyIE338JcBhRXrlRopLritPjadkQUp9pNhxYSbqSLnJHljzpYsne7RpsA yFYg== X-Gm-Message-State: AOJu0YzBkNNDAyvgCmkpxZqFKUDuEDk6wyiQYTxT5xcr6IvJFGqBIA4C 4FueQDBJc5vbG+HSh5T3HRdEXWXCJXtjN9kyfsWm3oZoH3gg4GU4KdErZQ== X-Gm-Gg: ASbGncu56qjZs97t/71H0Rp33dPQ+nxqVT3h0uJZsl5mB7Cs/WHuZj8POWZHcZ0PsBv azaWKmSgBIXMAesFMxrSzQxJXuYzzvkm6Z56ktLuf4oA2450YevDMi++8GkvP7Kh4kFhroP0Tr8 AlPudMMMNYNT/JQ2F4Hdd8jZG5R+ieuHosQBZWYLZHRE7ISyx/rO8yyvShER5nPoD/a6moKy2oy alfI4CxZl7F6JO8uqAmRdNqeil7Vg0h4BRfOJgEUF2ahFoENjkJKWLHN09v76waqGd7vAomtrmR OgGJpoFbA6i05RDcdK0P+nwPCrdwYn67adEXfl9TlGRRs96db/9IycHZAvYTQlAwQpXnQTsaqLZ i2sZQcMgVdgvH4Iq5Hc8SnYbH/Izqek6+hs3WlrpXF9h4AQe/4vo29lXPWbXJ75/lQ0LK+AGl9s Vcm7WUsxalp0ad+tj+0c0I+g== X-Google-Smtp-Source: AGHT+IGKhKrBrNG10lpEPaUeBm2xFwAueEy3Wx4Q4a/zctzxoY6wpn92PblEdW+vWvjOqz45BxCc/A== X-Received: by 2002:a05:6000:2403:b0:39c:16a0:feeb with SMTP id ffacd0b85a97d-39d87ab64f6mr614823f8f.27.1744150919144; Tue, 08 Apr 2025 15:21:59 -0700 (PDT) Received: from ?IPV6:2a02:1811:cd2f:3500:5063:77f7:737f:ef82? (ptr-du5vm7cygtdqj8kc03m.18120a2.ip6.access.telenet.be. [2a02:1811:cd2f:3500:5063:77f7:737f:ef82]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c301b7933sm16542680f8f.54.2025.04.08.15.21.58 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 08 Apr 2025 15:21:58 -0700 (PDT) Message-ID: Date: Wed, 9 Apr 2025 00:21:57 +0200 Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PHP-DEV] [RFC] [Discussion] array_first() and array_last() To: PHP internals References: <51fcec92-b2ae-482e-920f-c6c991b526c5@gmail.com> Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit From: dossche.niels@gmail.com (Niels Dossche) On 4/8/25 10:53 AM, Daikaras wrote: > On 4/5/2025 6:51 PM, Niels Dossche wrote: >> Hi internals >> >> I'm opening the discussion for the RFC "array_first() and array_last()". >> https://wiki.php.net/rfc/array_first_last >> >> Kind regards >> Niels > > > -1 because returning `null` for empty arrays is still wrong. Whatever similar behavior exists should be corrected to throw `ValueError` in the future. Just my 2c. > I think consistency is very important, hence I will stick to my reasoning why returning NULL is the right thing at the moment. If the behaviour of array functions on empty arrays is ever revised in the future, then we should keep everything consistent. So e.g. if a _future_ RFC decides to make array access throw instead of yield NULL, then this should affect array_{first,last} too IMO. However, that's not for now, that's a lot of ifs and hypothetical future development. That discussion should happen in the future elsewhere.