2011-09-05 108 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問題。