My personal take on this:

Let's add just more 1 function over a 99999 function's array API, because I
want to optimize 3 lines in my PHP code, and language lack of Generics
while we still refuse to carefully think about a proper OO Collection API.

Regards,

On Tue, Feb 9, 2016 at 6:19 AM, Matthew Setter <matt...@maltblue.com> wrote:

> Thanks kindly for the rapid and very helpful feedback. I'm going over it
> today and will collate it and think over it further. Given that the
> feedback's been so constructive and positive, I'll be getting started on an
> RFC over the next day or so.
>
> Matt
>
>
> --
> Kind regards,
>
>
> *Matthew Setter*
> *Freelance Software Developer & Technical Writer *
> *Host of Free the Geek <http://freethegeek.fm> | Author of Zend Framework
> 2
> Foundations <https://leanpub.com/zendframework2-for-beginners>*
>
> w:  http://www.matthewsetter.com
> t:  *@settermjd <https://www.twitter.com/settermjd>*
> g+: *+MatthewSetterFreelanceWriterDeveloper
> <https://plus.google.com/u/0/+MatthewSetterFreelanceWriterDeveloper/posts
> >*
> li: *in/matthewsetter <https://www.linkedin.com/in/matthewsetter>*
>
> On Mon, Feb 8, 2016 at 6:43 PM, Matt Prelude <m...@mprelu.de> wrote:
>
> > Hi,
> >
> >> I want to propose a new PHP array method, called has_numeric_keys (or
> >> something similar/better), that would have the following method
> signature:
> >>
> >> bool has_numeric_keys(array $array)
> >>
> >> The reason for it is to check if the array passed to it only had numeric
> >> keys.
> >>
> >> Why this method, when you could do it in userland PHP? Answer?
> >> Convenience.
> >> I found, recently, that I had to perform this kind of check, when
> patching
> >> Zend\Db\Sql\Insert.php. The approach I took was this:
> >>
> >> return array_keys($arr) !== range(0, count($arr) - 1);
> >>
> >> Not sure of my approach, I took to Twitter and received the following
> >> suggestions, amongst others:
> >>
> >> function isArrNum($arr) {
> >>    foreach($arr as $i =>$v){
> >>      if (!is_int($i)) {
> >>        return false;
> >>      }
> >>    }
> >>    return true;
> >> }
> >>
> >> count(array_filter(array_keys($array), 'is_string')) > 0
> >>
> >> array_filter([...], 'is_int', ARRAY_FILTER_USE_KEY)
> >>
> >> This convinced me that it wasn't just me seeing a valid use case for it,
> >> and that others have implemented differing solutions when presented with
> >> the same situation. Given that, I believe a simple, utility, function
> such
> >> as this would be of help.
> >>
> >> As for who would implement it, that would be me.
> >>
> > I like it. Would like to see it be a bit more generic though, something
> > like (ignore the name, I can't name functions):
> >
> > array_validate_keys($array, is_int);
> >
> > I say this because it allows for more potential uses (that and I've done
> > exactly the same to check all keys are strings before).
> >
> > - Matt.
> >
> >
>



-- 
Guilherme Blanco
MSN: guilhermebla...@hotmail.com
GTalk: guilhermeblanco
Toronto - ON/Canada

Reply via email to