Re: [RFC][Under Discussion] Add functions array_key_first()and array_key_last()

From: Date: Thu, 28 Jun 2018 13:02:01 +0000
Subject: Re: [RFC][Under Discussion] Add functions array_key_first()and array_key_last()
References: 1 2 3 4 5 6  Groups: php.internals 
Request: Send a blank email to internals+get-102513@lists.php.net to get a copy of this message
Am 26.06.2018 um 16:42 schrieb Rowan Collins:
On 26 June 2018 at 08:58, Marc Bennewitz <dev@mabe.berlin> wrote:
Hi all, I just want to add some information that I feel it's missing in that discussion - I'm sorry if it was mentioned already. 1. It's already possible to extract the key and value of any index position of an array using array_slice: https://3v4l.org/mib99 2. "array_[key|value]_[first|last]($array)" is in my opinion not a good option as it lacks the possibility to extract key/value from any position. Something like "array_[key|value]_index($array, $index)" where $index would be the index position or negative index position from right.
The big advantage of separate functions is that they make the intent clear; we could combine all four functions into one: array_index(int $position, bool $key), but "array_key_last($something)" is a lot clearer to read than "array_index($something, -1, true)". Are there actually use cases for getting "the 5th key from the end of the array", common enough to make "the last key in the array" harder to write? Regards,
As well as Rowan I don't see use cases for fetching keys/values at any position inside the array for justifying to break up the current readable function signatures. Combining multiple use cases and tasks into a single function always offends the single responsibility principle (compare my previous mail) and thus should be avoided. Are there other opinions concerning this topic? I'd like to finish the discussion soon and move on to the voting phase. Regards, Enno

« previous php.internals (#102513) next »