2012/8/22 Andrew Faulds <a...@ajf.me>: > Er, so you're advocating adding another method to do the same thing? Why?
Because novices don't know about array_walk(). I think I've written this over and over in this thread. > The whole point of this was to allow people to use arrays like sets, or > easily remove list items. Not encourage people to use functional > programming. > > Sure, people should use array_walk, but you've got to be kidding me if I you > think I would honestly accept using this to remove array items by value: > > array_delete($array, function ($value) { return ($value == "that value"); > }); > > I might as well use array_walk if we're going down this route. You seem to > want to subvert the usefulness of this function and just provide an > array_walk shorthand with less functionality. > > What I want is this: > > array_delete($array, "that value"); I do not want this ;) What's wrong with extensible way? It's for PHP 5.5, not PHP 4. array_delete($array, function ($v) { return ($v == "that value"); }); We can use ==, ===, <, >, <=, =>, <==, ==>, !=, !==, and so on. We may pass them as parameter, array_delete($array, "that value", "!=="); but it does not look a modern way to do and it is not extensible like with callable. Besides, how often we would like to delete elements based on element's value? I guess it's not so often for most people. > Much more readable, does what you expect, and provides a significant, > noticeable value over array_walk here. array_walk() is easy to use, IMHO. People just don't know array_walk() can be used to delete elements because of it's name. As I wrote in sample code, new array_delete is an intuitive name and convenient than array_walk. They are like array_pop/array_push and array_slice/array_splice to me. Regards, -- Yasuo Ohgaki yohg...@ohgaki.net > >> >> Regards, >> >> -- >> Yasuo Ohgaki >> yohg...@ohgaki.net >> >> >>>> As I mentioned earlier, array_walk() is the best way to delete elements >>>> with PHP >>>> more than a decade. It should be mentioned the Stack Overflow page, >>>> but it's not. >>>> >>>> It's just like adding >>>> array_pop()/array_push()/array_shift()/array_unshift() while >>>> we have array_slice()/array_splice(). >>>> >>>> Regards, >>>> >>>> -- >>>> Yasuo Ohgaki >>>> yohg...@ohgaki.net >>> >>> >>> >>> -- >>> Andrew Faulds >>> http://ajf.me/ >>> > > > -- > Andrew Faulds > http://ajf.me/ > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php