2017-02-02 52 views
-1

在PHP中我注意到,如果我們有像下面的代碼:PHP語法簡化

<?php if (function('parameter')):?> 
        <?php //do something here ?> 
       <?php endif; ?> 

我們爲什麼不能寫這樣的代碼,如:

<?php if (function('parameter')) 
       //do something here 
       endif; ?> 

我是新來的PHP,謝謝很多!

+0

是的,它是多餘的。只是不好的編碼。你會在PHP中看到很多,注意它! – miken32

+0

儘管你仍然需要「回聲」那些HTML元素。 – miken32

+0

你剛碰巧選擇最不方便的模板方案來從中得出結論。另外,不,你不能這樣做。標準PHP不支持HTML文字。 – mario

回答

0

PHP代碼必須在<?php ?>之內,並且HTML標記需要在外面。您還可以使用echo打印出HTML標記。

這裏是一個例子(在我看來,比例子2更清潔)。 HTML標記在PHP字符串中。的the_field()返回值,一個字符串,然後用. concated:

<?php 
    the_post_thumbnail('square'); 

    if(get_field('quote_url')) { 
     echo '<p class="btn"><a href="'.the_field('quote_url');.'">Request a Quote</a></p>'; 
    } 
    if(get_field('rfq_pdf_url')) { 
     echo '<p class="btn"><a href="'.the_field('rfq_pdf_url');.'">Download PDF</a></p>'; 
    } 
?> 

這裏是另一個有效的例子(2)。您可以結束與?>和輸出標準的HTML標記PHP的一部分,然後用<?php重新開始PHP的一部分:

<?php 
    the_post_thumbnail('square'); 

    if(get_field('quote_url')) { ?> 
     <p class="btn"><a href=" 
     <?php the_field('quote_url'); ?> 
     ">Request a Quote</a></p> 
    <?php } 
    if(get_field('rfq_pdf_url')) { ?> 
     <p class="btn"><a href=" 
     <?php the_field('rfq_pdf_url');?> 
     ">Download PDF</a></p> 
    <?php } 
?> 

這將然而是多餘的開始<?php在每一行,並與?>再次結束它即可。

0

另一種可能性是:

<?php 
    the_post_thumbnail('square'); 
     if(get_field('quote_url')) { 
?>  
      <p class="btn"><a href='<?php echo the_field('quote_url'); ?>'>Request a Quote</a></p> 
<?php 
     } 
     if(get_field('rfq_pdf_url')) { 
?> 
      <p class="btn"><a href="<?php the_field('rfq_pdf_url');?>"">Download PDF</a></p> 
<?php 
     } 
?>