2011-03-24 114 views
1

我從下面的代碼中得到了我用來學習PHP的教程。我知道//用於註釋掉代碼。在下面的代碼的第一行,你看{// subject selected ?>評論php標籤

是PHP標籤?>不是由//subject selected文本一起註釋掉?

<?php if (!is_null($sel_subject)) {// subject selected ?> 
<h2><?php echo $sel_subject['menu_name'];?></h2> 
<?php } elseif (!is_null($sel_page)) {// page selected ?> 
<h2><?php echo $sel_page['menu_name']; ?></h2> 
<?php } else { // nothing selected ?> 
<h2>Select a subject or page to edit</h2> 
<?php } ?> 
+0

只是測試它: -/ – eisberg 2011-03-24 10:05:59

+1

@eisberg,我很高興,他問這個,因爲我從來不知道它,現在我做。 – RobertPitt 2011-03-24 10:10:07

回答

3

不,?>沒有被註釋掉。

0
{// subject selected ?> 

不,?>未被評論。因爲,這不是PHP語句的一部分。這是apache用來確定的標籤。 Apache會將標籤所包含的內容發送給php,並將php的輸出放在輸出緩衝區中。

+0

apache與PHP標籤無關。去圖 – 2011-03-24 10:02:21

+0

@Col:apache或web服務器。網絡服務器首先獲取請求。 PHP不是一個網絡服務器。這是基本的。 Apache(或者websever,iis或者其他)決定是否要連接到任何程序。這就是爲什麼,當你用php設置服務器時,你需要配置Apache來使用php。 – 2011-03-24 10:05:35

+2

是的,你需要。但PHP標籤與此類配置無關。 -1 – 2011-03-24 10:08:48

1

沒有?>沒有被在線評論註釋掉,其中作爲塊註釋他們是。

http://codepad.org/YUhG2DTd

例如:下面的?>不會被註釋掉。

<?php 
\\?> 

echo 'works'; 
?> 

其中下列內容被註釋掉。

<?php 
/* 
?> 
*/ 

echo 'failed'; 
?> 
4

,解決這些問題的最好的地方是an official man page

的「單行」註釋僅僅註釋到行或PHP代碼當前塊的結束,以先到者爲準。這意味着將打印// ...?>或#...?>之後的HTML代碼:?>脫離PHP模式並返回到HTML模式,和//或#不能影響該模式。

我可以向你保證,它是知識的方式更可靠的消息來源比一些從一些愛好者自告奮勇幫助