Brainstorm suggestions: 1. Keys being stored as reference:
$valueOutput = array_first(array $array, ?string &$keyOutput = null); 2. Function will returns value or key, by option (similar to array_filter()): array_first(array $array, int $options = ARRAY_VALUE); array_first(array $array, int $options = ARRAY_KEY); 3. F unction will returns value or key, by boolean argument: array_first(array $array, bool $returnKeyInsteadOfValue = false); array_first(array $array, bool $returnKeyInsteadOfValue = true); 4. Specific method to return key instead of value: array_first(array $array); array_first_key(array $array); 5. Consider that keys could be obtained via array_keys(), so array_first() should just care about values: array_first(array_keys($array)); Em qui, 21 de jun de 2018 às 13:18, Larry Garfield <la...@garfieldtech.com> escreveu: > On Tuesday, June 19, 2018 9:47:01 PM CDT Levi Morrison wrote: > > I don't think I'm getting all the mail I am supposed to. I hope this gets > > seen. > > > > I propose 2 functions *only* which I believe covers the use-cases that > > all 4 of these do and more, with shorter names, and the ability to > > discern whether the call succeeded or not. > > > > list($key, $value) = array_first($input); > > // $key will be null if the call failed > > > > list($key, $value) = array_last($input); > > // $key will be null if the call failed > > > > I have tested it with user-land functions and seems to work as > > intended in all success and failure conditions. Verification that it > > works as intended with internal functions is necessary but this seems > > a much better proposal to me. > > Can I vote "heck no" to any function that does multi-return, thus making > it > impossible to chain or pass directly to another function? That's an idiom > that just doesn't make sense in PHP. > > --Larry Garfield -- David Rodrigues