Hi Nikita,

On Thu, Jan 22, 2015 at 12:42 AM, Nikita Popov <nikita....@gmail.com> wrote:

> On Wed, Jan 21, 2015 at 2:57 PM, Dmitry Stogov <dmi...@zend.com> wrote:
>
>> Hi,
>>
>> Yeah, I think changing foreach behaviour in more consistent and efficient
>> way may make sense.
>> If we won't use HashTable.nInternalPointer we won't need to copy
>> immutable arrays.
>> The same for nested foreach on the same array.
>> We could also eliminate all the HashPosition magic introduced to keep
>> PHP5 behavior.
>>
>> On the other hand some apps may relay on current weird behavior.
>>
>> I remember, long time ago Nikita made some related proposal.
>> Nikita, could you please send a link.
>>
>> Thanks. Dmitry.
>>
>
> Original proposal is the patch linked at the end of
> https://bugs.php.net/bug.php?id=53405. However that was aimed at making
> external HashPosition iteration to work like the internal pointer, so we
> could make it fully independent while keeping most of the current behavior.
> I fear it would make the implementation even more complicated than it
> already is.
>
> For PHP 7 we have the option to alter the iteration semantics for edge
> cases a bit (especially interaction of iteration and changes to the array).
> I'll have to try out some ideas in that direction and report back.
>

Great to hear this.
I'm looking forward outcomes!

Regards,

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

Reply via email to