Um, Yasuo, have you looked at array_walk implementation and ascertained it is 
safe to change array structure while using it?

Because I'm worried you're changing docs without doing so.

--
Sent from Samsung Mobile
Andrew Faulds
http://ajf.me/

Yasuo Ohgaki <yohg...@ohgaki.net> wrote:

Hi,

2012/8/22 Levi Morrison <morrison.l...@gmail.com>:
> On Tue, Aug 21, 2012 at 7:45 PM, Yasuo Ohgaki <yohg...@ohgaki.net> wrote:
>>
>> Hi,
>>
>> 2012/8/16 Rasmus Schultz <ras...@mindplay.dk>:
>> > How come there is no straight-foward obvious way to simply remove a given
>> > value from an array?
>> >
>> > Just look at the number of horrible ways people solve this obvious problem:
>> >
>> > http://stackoverflow.com/questions/7225070/php-array-delete-by-value-not-key
>> >
>> > Shouldn't we have something simple, like:
>> >
>> >     array_remove($array, $value) : array (returns a new array)
>> >
>> > and/or
>> >
>> >     array_delete(&$array, $value) : bool (modifies array directly)
>> >
>> > ?
>>
>> It was amazing that this thread has close to 90 mails.
>>
>> I've added some use cases of array_udelete() to wiki, since
>> some people fails to see how it could be useful. I also bring
>> back to array_walk() version of equivalent example. I just
>> don't see any reason why we should replace it with slower
>> foreach() version.
>>
>> I think the RFC page is almost complete.
>>
>> https://wiki.php.net/rfc/array_delete
>>
>> Any more comments?
>>
>> --
>> Yasuo Ohgaki
>> yohg...@ohgaki.net
>
> Take a look at:
> http://php.net/manual/en/function.array-walk.php#refsect1-function.array-walk-parameters
>
> Look at funcname parameter.  Notice:
>> Only the values of the array may potentially be changed; its structure 
>> cannot be altered, i.e., the programmer cannot add, unset or reorder 
>> elements. If the callback does not respect this requirement, the behavior of 
>> this function is undefined, and unpredictable.
>
> I'm just going to change the behavior back when you switch it to
> array_walk. It's less clear and technically undefined.

Ok, then my commit to the doc was outstanding still.
Old PHP was behaved badly with reference variables.
I'll remove obsolete statement.

I'll fix it later.
Thank you.

--
Yasuo Ohgaki
yohg...@ohgaki.net

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to