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

Reply via email to