Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127079 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 35F101A00BC 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 D6DFE180074 for ; Tue, 8 Apr 2025 22:19:35 +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-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) (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-f46.google.com with SMTP id ffacd0b85a97d-39ac56756f6so5147603f8f.2 for ; Tue, 08 Apr 2025 15:21:59 -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=XYV3eBNTQDZnf250EwzYbeO1BcUodDndIfBqRNwcSasTIUQc7jmidU/mrtw80duJ62 SxCKKv68joGkKaChxBnERloqi6EGBZ7kTTvIfnAKEJ38V7aat4gZa0pYdKzyQaGNen+9 EPzNP20QE6kTwPJkNVaP9yZxmzbbqHf+EkEpS9v4RGH1GHb81N5e8PtHLxNs/syJNEsO uozPs/uta3oBCLXDgsL94OJEj8OwiN3t5m9BeIClAg0KnLHqCaEH3lFALBn0SV+fgBR0 IT5vVJo/IZLn6AlAl3oBW9tedbhLIKhj/nfJgv909A9T8L5d9CO/LqgbKR34GOKF+jGi hY4w== 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=Gys53Uhehz+jbF0ahVeG7O5/cZO8J+jJhbu8OPBngUUK4UxLnUhm/n6ekFSmYDDf2Q YG9QCF/3RfO22iSrH+nocDMIhUI8abqSSezeitmCRXA2JNXfEr//A++P+6TYIKx/noAW F6IfZshnGQ+6KSkNv/+YHz9oRg7K2XEtZI4e9Z5/doB5Lfsg88sVVQ4p149+pQlJZDzj a1RiqGWCZkNX+x+t1ZC4ojRnUslCIas925SKVXCkvG8ZSswp9XGotK2S80gqJvRtvo+k WL0iSmhJISmjZjtTnBSTVfHP/kEj/WsKKwLmDOSDtJtppBG/Uynll/fpwInUjrweIzqb FY0A== X-Gm-Message-State: AOJu0Yxgl2Vve04jLdvaeExpQTy9Igb0vMgndE+m5Hr0J+4oqA0xN5Ra JLdPl+mDVys6tQK6P4LsOaKffV90B8dimFiYEvOePoTcf7mQdsuwqf3bkA== X-Gm-Gg: ASbGncssZg/LCcZ9/dqi5/1xXxnhOg36iMRIYxC7BbxYOVCaZIHfHgJw7pRqztQKWm3 6X3uZGA+PDHZUvVEbjyaxWGYlofC7kG3wH8LCECitZaJNBMlZmxaqH71YWTjRksJgNa6zWVmxi5 TEvBdIsTkUgs+X/ymYXPAbijG+6x0W3RexPomhDorRsumXWRv2AjB3SwOGhQUCtILBvaYhmBt2q FkHASXuDiP2V2u+DGM3uQ0uy7nTTZ7aHG2PV+u61/tH4YovMgbY5y+Ecu82tr13tyw+E7CvLZC7 SU79XFBuQK035lQSkKVqWQEro7qpFAelrQIrYkSN3p7m2HfZeAjucPymwo4KLwmEWQ6NVDr02HL oKEpVO+vFN/MBjOhRBg9xeGZ6Ni5sEelvP5ItnTsb79N4SnWq5yyC9+LJ2NH42ZmVv96jeAP0a5 u931awgvCtb+k2d/hI2Jorsw== X-Google-Smtp-Source: AGHT+IHSTcIE6haChM6VtjqnJ+E+ZSMuUNmKKt9cWNxZAX3oLvRLw3quuEDDzmkIUjdXxSdpsSQj3A== X-Received: by 2002:a05:6000:402c:b0:39c:1efb:ec93 with SMTP id ffacd0b85a97d-39d88566e59mr259893f8f.48.1744150918657; Tue, 08 Apr 2025 15:21:58 -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: <0654c99d-f6ec-4953-aa55-a603ff06913c@gmail.com> 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.