Having array_value_first and array_value_last to match the existing array_key_first and array_key_last functions make sense, and would seem to me to be more intuitive than function names that would not match that scheme.
On Tue, 17 Oct 2023 at 10:41, Robert Landers <landers.rob...@gmail.com> wrote: > On Tue, Oct 17, 2023 at 11:37 AM Robert Landers > <landers.rob...@gmail.com> wrote: > > > > On Tue, Oct 17, 2023 at 11:34 AM Aleksander Machniak <a...@alec.pl> > wrote: > > > > > > On 17.10.2023 11:29, Robert Landers wrote: > > > > $value = array_value_first($array, $key); > > > > if($key === null) // handle error > > > > else // do something with $value > > > > > > > > You can also freely ignore the key, if you don't need it or care > about > > > > error checking. That would save doing two function calls on the same > > > > array, just to do some error checking. > > > > > > > > > > Please, no. What's wrong with count() or empty()? > > > > > > +1 for array_first() and array_last(). The only problem is probably a > > > big BC break. I myself have array_first() defined in my framework. > > > > > > -- > > > Aleksander Machniak > > > Kolab Groupware Developer [https://kolab.org] > > > Roundcube Webmail Developer [https://roundcube.net] > > > ---------------------------------------------------- > > > PGP: 19359DC1 # Blog: https://kolabian.wordpress.com > > > > > > -- > > > PHP Internals - PHP Runtime Development Mailing List > > > To unsubscribe, visit: https://www.php.net/unsub.php > > > > > > > Hey Aleksander, > > > > > Please, no. What's wrong with count() or empty()? > > > > Nothing. Why not either one? You don't have to use the $key variable > > and you can use count() or empty(), but for me personally, it makes a > > lot of sense. > > Ah, I just realized why it makes a lot of sense, and that is when > Fibers get involved. The value and key could change underneath you > from one function call to another. > > $key = array_key_first($this-array); > > // call something that suspends a fiber and results in $this->array > being mutated > > $value = array_value_first($this->array); > > // $value and $key may now point to two totally separate things. > > I've been bitten by this with Fibers a few times now (or things very > similar to it). > > Having a way to atomically get $key and $value would be a boon, not a > hindrance. > > Robert Landers > Software Engineer > Utrecht NL > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: https://www.php.net/unsub.php > -- http://about.me/kenguest/