2011-09-05 88 views
0

,如果我有类似下面(很基本的,但我希望你明白我的意思)PHP变量保持

. 
. 
html code 
. 
. 
<?php 
$string=true; 
. 
. 
?> 
. 
. 
more html 

. 
. 
<?php 
if ($string) 
. 
. 
?> 

假设页面一直没有输出,将在$string值仍然可用从以前的<?php还是必须重新设置?

+0

将代码标签放在您的HTML – 472084

+0

答案是肯定的。但你为什么问?你为什么不简单地尝试它? –

+0

SO不使用'CODE'标记进行标记;应选择代码并单击“{}”按钮,这会在每行的开始处添加四个空格。 –

回答

1

你的问题有点不清楚,但我相信你的意思是这样的:

<?php 
$string = "some string"; 
?> 
<html> 
<head> 
</head> 
<body> 
    <?php 
     // Is $string available here? 
     // yes it is. 
    ?> 
</body> 
</html> 
5

简短的回答...是的,它会。

可以想象,所有的PHP块都是变量范围内的块。在任何包含文件中声明的所有变量也将可供您使用。这些变量位于全球范围的中。

0

一个例子(非常相似,顺便说一句,威廉的例子):

<?php 

$string = 'I am a string.'; 

?> 
<html> 
<head></head> 
<body> 
<p><?php echo $string; ?></p> 
</body> 
</html> 

http://codepad.org/X5W769V6

这输出到浏览器:

<html> 
<head></head> 
<body> 
<p>I am a string.</p> 
</body> 
</html> 

这是因为PHP是一个意图在HTML中解析和通过。见PHP Variable Scope

0

是的,即使在中间有100个块(假设当然,您没有在代码中间更改或取消设置),全局范围将持续整个页面。

不知道这是什么,这是一个典型的TIAS问题。