mike
mike

Reputation: 1137

php variable scope

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

Answers (6)

davidS
davidS

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

Nanne
Nanne

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

qbert220
qbert220

Reputation: 11556

For the complete answer check the documentation:

http://php.net/manual/en/language.variables.scope.php

Upvotes: 0

Ikke
Ikke

Reputation: 101261

In PHP, a while loop doesn't create a new scope. So it will be available in the function

Upvotes: 6

S L
S L

Reputation: 14328

while is not a function. scope of variable refers to variable inside functions and classes

Upvotes: 8

Shakti Singh
Shakti Singh

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

Related Questions