Re: re: removing an item from an array
| From: | Andrew Faulds | Date: | Tue, 21 Aug 2012 19:25:48 +0000 |
| Subject: | Re: re: removing an item from an array | ||
| References: | 1 2 3 4 5 6 7 8 9 10 11 12 13 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-62351@lists.php.net to get a copy of this message | ||
On 21/08/12 10:36, Yasuo Ohgaki wrote:
Hi 2012/8/21 Tjerk Anne Meesters <datibbaw@php.net>:On Tue, Aug 21, 2012 at 10:31 AM, Rasmus Schultz <rasmus@mindplay.dk> wrote:Int would be better and callable should be accepted like array_walk(). It's better to have array_delete_recursive(), too. I updated the page. Callable? What? This is to remove a single value, like a set. If you want to remove based on a function, array_walk() is always available. And allowing a callable would prevent you from removing closures or strings! D:Thank you, but this isn't really anything like what I had in mind. What I had in mind is more like set-semantics for arrays, e.g. designed to work with sets of distinct values/objects. Since I do not have permission to write on the wiki, I posted an initial draft here: https://gist.github.com/321ad9b4b8c4e1713488Just an idea, since array_delete() may remove multiple values, I would change the return value to (int) and return how many elements were removed from the array.
array_add() needs more discussion. What we should do with array value, accept callable or not, etc. Why accept a callable?I don't think it needs more discussion, I can't see how it could be made any better than it currently is.
Regards, -- Yasuo Ohgaki yohgaki@ohgaki.net-- Andrew Faulds http://ajf.me/On Mon, Aug 20, 2012 at 10:10 PM, Yasuo Ohgaki <yohgaki@ohgaki.net> wrote:-- -- TjerkHi, 2012/8/21 Rasmus Schultz <rasmus@mindplay.dk>:I have a login (mindplay) but I do not have permission to post or edit anything on the wiki...I've created RFC for this https://wiki.php.net/rfc/array_delete Get wiki account and finish discussion. I may write patch for this with my spare time, but it may take while to find time. I suggest write patch and send pull request. Regards, -- Yasuo Ohgaki yohgaki@ohgaki.netOn Mon, Aug 20, 2012 at 8:01 PM, Will Fitch <willfitch@php.net> wrote:feelsPlease let this die until someone is serious enough to come up with an rfc. This has been nothing but counterproductive arguing. If someonecommonstrongly about it, write an rfc then we can discuss? On Aug 20, 2012 7:53 PM, "Yasuo Ohgaki" <yohgaki@ohgaki.net> wrote:Hi, 2012/8/21 Herman Radtke <hermanradtke@gmail.com>:returnMay be we should have something likearray_delete_if($array, function($v, $k=null) { if ($v == 300)That isYou are basically asking to alias array_filter with "array_delete".I'll use it or like for deleting, but the point of this thread is "intuitive function for deleting element(s)" array_delete($array, $value|callable) would be nicer for users, perhaps.true; })So array_filter?a very slippery slope. I think array_filter is very a very obviouschoice toremove something from an array. The "filter" function/method isdevelopment.infunctional languages (and functional frameworks like Underscore). These are things developers just need to learn as part ofReally, this is entire thread should be on stack overflow, notinternals. I guess you haven't read later post. You've also made a novice mistake. array_filter() DO NOT delete elements, but creates new array. array_delete() is another form of array_walk(), not array_filter(). See my posts. Having a API for dedicated task is good thing. Who would argue array_pop()/array_push() isn't needed? Regards, -- Yasuo Ohgaki yohgaki@ohgaki.net -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php