Reputation: 1137
i'm confused about the php variable scope. such as:
while(true){
$var = "yes , it is a test!";
}
printf($var)
the $var
is defined in while statement scope , how could we get it outside it's scope ? and i can't find explanation on the document .
i wonder how php deal with it's scope .
Upvotes: 9
Views: 4001
Reputation: 31
Notice: Different PHP-version behave differently on $GLOBALS, $_SERVER ($HTTP_SERVER_VARS [deprecated]) and $_SESSION. Please check that. Old PHP page are not always upwards compatible. You should check that.
Upvotes: 0
Reputation: 64429
If you do while(true)
you will not get out of the while, so it wouldn't matter. But if you would have a real expression, something like this (this is a useless example, i know)
$i=0
while($i<10){
$var = "yes , it is a test!";
$i++;
}
printf($var);
Will just work. There is no special "while" variable scope, the printf will print your string. check : http://php.net/manual/en/language.variables.scope.php
Upvotes: 3
Reputation: 11556
For the complete answer check the documentation:
http://php.net/manual/en/language.variables.scope.php
Upvotes: 0
Reputation: 101261
In PHP, a while loop doesn't create a new scope. So it will be available in the function
Upvotes: 6
Reputation: 14328
while
is not a function. scope of variable refers to variable inside functions
and classes
Upvotes: 8
Reputation: 86476
Loop does not have any scope in PHP. variable is simply available outside the loop.
just echo
outside the loop;
echo $var;
Upvotes: 2