2013-05-26 70 views
1

從tuxradar.com:PHP輸出文本WITHOUT echo/print?

實施例1:

<?php 
    if ($foo == $bar) { 
     print "Lots of stuff here"; 
     print "Lots of stuff here"; 
     print "Lots of stuff here"; 
     ...[snip]... 
     print "Lots of stuff here"; 
     print "Lots of stuff here"; 
    } 
?> 

實施例2:

<?php 
    if ($foo == $bar) { 
?> 
    Lots of stuff here 
    Lots of stuff here 
    Lots of stuff here 
    ...[snip]... 
    Lots of stuff here 
    Lots of stuff here 
<?php 
    } 
?> 

假設$foo = $bar

兩者的輸出相等。我不明白爲什麼。示例2沒有print/echo,據我所知,不應使用printecho的PHP解析器來理解一堆單詞。那麼爲什麼當一堆「病房」被另外一組<?php ?>標籤分開時,它實際上會被打印?

我想我錯過了一些我想了解的核心。

回答

1

示例2輸出文本的原因是因爲您已關閉PHP標記。瀏覽器將其渲染/解釋爲純文本。您也可以使用HTML格式化文本輸出,並且它將在瀏覽器中很好地呈現。

+2

@frrlod:這是一個非常普遍的做法,可以導致_very漂亮的代碼。如果你需要在純HTML中輸出變量,可以考慮這樣做:'<?= $ variable?>'或'<?php echo $ variable; ?>'。這都是關於可讀性的。 –

+1

@Kristy服務器將其解釋爲純文本。反正瀏覽器不會讀PHP。 – Anujan