2011-04-12 150 views
7

我对php变量范围感到困惑。 如:php变量范围

while(true){ 
    $var = "yes , it is a test!"; 
    } 
    printf($var) 

$var在while语句定义的范围,我们怎么能得到它外面的范围是什么?我无法找到有关文件的解释。

我不知道PHP如何处理它的范围。

+3

'while(true)'是一个无限循环... – atlavis 2011-04-12 07:51:02

+0

请回头查看您的旧问题。如果有良好的解决方案,请使用绿色的“检查”将它们标记为已接受。如果没有(我怀疑),请考虑回答你自己的问题,最后如何解决问题。此外,请尝试检查您的格式。 – Nanne 2011-04-12 07:52:06

+0

这可能是一个有用的起点:http://php.net/manual/en/language.variables.scope.php – 2011-04-12 07:53:54

回答

2

如果你这样做while(true)你会不会走出的同时,所以不会有问题。但是,如果你将有一个真正的表达,这样的事情(这是一个无用的例子,我知道

$i=0 
while($i<10){ 
    $var = "yes , it is a test!"; 
    $i++; 
} 
printf($var); 

将只是工作。 没有特殊的“while”变量作用域,printf会打印你的字符串。检查:http://php.net/manual/en/language.variables.scope.php

2

Loop在PHP中没有任何范围。变量在循环之外是简单可用的。

只是echo外循环;

echo $var;

8

while不是一个函数。变量的范围指functionsclasses中的变量

6

在PHP中,while循环不会创建新的scope。因此,将在功能

0

注意:不同的PHP版本在$ GLOBALS,$ _SERVER($ HTTP_SERVER_VARS [deprecated])和$ _SESSION上表现不同。请检查。旧的PHP页面并不总是向上兼容。你应该检查一下。