2011-11-29 114 views
0

可能重複:
Difference between if() { } and if() : endif;使用if(){}與if():endif;

簡單的問題,

當我開始編寫PHP我被我的if語句是這樣的:

If(1 == 1): 
Echo 'hello world'; 
Endif; 

凡爲大多數人更喜歡

If(1== 1) { 
Echo 'hello world'; 
} 

有什麼區別嗎?是提高腳本的速度還是比我做的更好?

+0

已經在這裏解答:http://stackoverflow.com/questions/564130/difference-between-if-and-if-endif –

+0

是一樣的。 PHP將以相同的速度運行,沒有區別。 '<?'vs'<?php'也一樣。 –

回答

2

聲明是平等的,雖然在一個模型視圖控制器項目更好的可讀性更好模型/控制器部分和其他人在查看部分使用

if(1== 1) { 
    echo 'hello world'; 
} 

<? if(1 == 1): ?> 
    <div>..</div> 
<? endif;?> 

所以一個網頁設計師/圖形可以更好地處理HTML代碼。

+0

說不同的語法是針對MVC的東西有點誤導。 – jprofitt

+0

@jprofitt:也許我的英語沒有幫助。我只想說在MVC中不同的語法是合理的,我解釋了爲什麼。 –

+0

好的,這樣做更有意義 – jprofitt

1

不可以。但是,你不應該考慮微型優化(它是萬惡之源),特別是因爲你將自己命名爲初學者。

第二個更常見,第一個混合php和html時通常更具可讀性。

+0

+1 - 過早優化從來都不是一個好主意。 –

1

它們之間沒有速度差異。這是if的替代語法。

有些人喜歡if() {或者一些喜歡if():

我個人使用,如果():當有一堆的HTML需要輸出。

<?php if (condition) : ?> 
//some html tags html 
<?php endif; ?> 

和我使用if(condition) {當一些PHP處理完成。

<?php 
if (condition) 
{ 
    //other PHP stuff 
} 
?> 
1

我個人使用替代語法時,我(它更清潔這種方式對我來說)混合PHP與HTML:

<p> 
     <label>Customer:</label> 
     <?php echo Form::input('customer', Arr::get($post, 'customer'), array('maxlength' => 80)) ?> 
     <?php if (isset($errors['customer'])): ?> 
      <span class="error"><?php echo $errors['customer'] ?></span> 
     <?php endif ?> 
    </p> 

其他然後,沒有任何區別。

1

有什麼區別嗎?是提高腳本的速度還是比我做的更好?


這只是兩種不同的方式來做同樣的事情。

對於第二個,幾乎所有優秀的代碼編輯器/ IDE都會突出顯示匹配的大括號。
這樣一個原因,加上大括號與許多其他語言兼容的事實,使得它們更經常使用。