Re: foreach weirdness

From: Date: Sat, 24 Mar 2012 15:15:32 +0000
Subject: Re: foreach weirdness
References: 1 2 3 4  Groups: php.general 
Request: Send a blank email to php-general+get-317248@lists.php.net to get a copy of this message
On 3/23/2012 10:11 PM, Robert Cummings wrote:
On 12-03-23 06:30 PM, Simon Schick wrote:
2012/3/23 Robert Cummings<robert@interjinn.com>
On 12-03-23 11:16 AM, Arno Kuhl wrote:
it still does not produce the correct result: 0 1 3 6 10 15 21 0 1 3 6 10 15 15
This looks like a bug... the last row should be the same. What version of PHP are you using? Have you checked the online bug reports?
Hi, Robert Does not seem like a bug to me ... http://schlueters.de/blog/archives/141-References-and-foreach.html What you should do to get the expected result: Unset the variable after you don't need this reference any longer.
Ah yes... that clued me in. I disagree with the article's generalization with respect to references since references accomplish some things that cannot be accomplished otherwise, but even I missed the fact that the second loop was using a variable that was a reference to the last element of the array as created in the first loop *lol*. The user's very act of checking their results was confounding the result... I love it :) Cheers, Rob.
Re, your "...that cannot be accomplished otherwise,..." Can you provide some examples? The only ones I've found are when using create_function() and the arguments for callback functions. I can't even remember or find in my code an example of my foreach()loops needed it. Seems, I recall earlier versions of PHP [<4? ]required references for variables.

« previous php.general (#317248) next »