ray wrote:
Quote:
Hi, all,
foreach($array as $k =$v) {
$foo = ...;
}
echo $foo;
>
Is it allowed to access the $foo variable that is created within the
loop from outside of the loop? I think it isn't allowed, because
according to the rule stated in PHP manual(
http://www.php.net/manual/
en/language.variables.scope.php): The scope of a variable is the
context within which it is defined, the $foo variable is defined
inside the loop, so its scope should limit within that loop. But the
test result of such script shows that I can access the $foo variable
from outside of the loop correctly. WHY? I'm a PHP newbie, Could
somebody help me out? Thanks in advance.
There is no lexical scoping in PHP. Did you read any further than the
first sentence of the page? From your example, it's not clear in which
context $foo was defined (global or local scope), although you can't
localize vars to just any block. Vars in a function or class
definition are limited to a local scope, unless you explicitly use the
"global" keyword or $GLOBALS array.
--
Curtis