Re: xarray - The missing array functions you are looking for, implemented in Extension

From: Date: Fri, 16 Oct 2015 08:59:30 +0000
Subject: Re: xarray - The missing array functions you are looking for, implemented in Extension
References: 1 2 3 4 5 6 7  Groups: php.general 
Request: Send a blank email to php-general+get-325203@lists.php.net to get a copy of this message
Please DO top-post, as it makes it much easier to determine whether a new message is relevant. This becomes more evident the longer a thread goes on. Please abandon this dogmatism, in favour of empirical practicality. Peter West “I am the vine, you are the branches.” > On 16 Oct 2015, at 6:31 pm, Ashley Sheridan <ash@ashleysheridan.co.uk> wrote: > > > > On 16 October 2015 08:58:55 BST, Lin Yo-an <cornelius.howl@gmail.com> wrote: >> New function added to xarray extension: >> >> $array = [ >> "created_at" => ... >> "updated_at" => .... >> ]; >> array_keys_replace($array, [ >> "_at" => "_on", >> ]); >> >> >> >>> On Oct 15, 2015, at 12:40, Lin Yo-an <cornelius.howl@gmail.com> >> wrote: >>> >>> On Oct 15, 2015, at 06:44, Ryan Pallas <derokorian@gmail.com> wrote: >>>> >>>> array_pluck is in the language, called array_column >>> >>> array_pluck is designed to support dot expression, for example: >>> >>> array_pluck($array, "parent.child.child1.attr"); >>> >>>> array_remove is just array_filter, why do I need another function >> for that? >>> >>> array_filter only passes value to the callback. in PHP 5.6, there is >> a new option to pass both key and value, >>> however PHP 5.5 doesn't have this option. >>> >>> Implementing this function in extension make it possible. >>> >>>> array_add - why do I need the overhead of a function call, when I >> can do $a[ >>>> *key*] = *value* >>> >>> The reason has been described in the document: array_add only adds >> data when the key doesn't exist. >>> >>> You can treat it as a set operation. >>> >>> $array = [ ]; >>> array_add($array, "key", 10); // key => 10, return true >>> array_add($array, "key", 20); // key => 10 still, return false >>> >>>> array_build - this seems neat, but I think it needs a better >> example, I can >>>> do the example already with array_combine(array_column(), >> array_column()) >>> >>> By using array_build, you can pass complex structure as the new >> value, or adding complex logic in the callback. >>> >>>> array_each - this is just a foreach with an isolated scope and >> function >>>> overhead on every iteration, why would I want that? >>> >>> Yeah I have to admit it's pretty much similar, however sometimes you >> want to pass a iteration handler from external, >>> and array_map returns a new array, array_each is faster than >> array_map because it's much lightweight and it doesn't return value. >>> >>>> array_keys_join - while I like this, why doesn't it have the same >> argument >>>> order as implode/join (glue, array)? >>> >>> The reason I put array as the first argument is, consistency. and >> actually the "glue" is optional, so you can simply ignore the argument. >>> >>> $key = array_keys_join($array); >> >> >> -- >> PHP General Mailing List (http://www.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php > > Please can you try to not top post, it really makes it more difficult to read the thread, and > the rules do state that replies should be inline quoted or bottom posted > > Thanks > Ash > -- > Sent from my Android device with K-9 Mail. Please excuse my brevity. > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php >

« previous php.general (#325203) next »