2012-11-09 22 views
1

服用點用下面的PHP不工作,顯然是一個語法問題:控制結構PHP語法導致解析錯誤

我不斷收到此錯誤:

Parse error: syntax error, unexpected T_IF, expecting ':'

我不粘貼任何線您可以看到錯誤消息的編號。而我不斷收到此錯誤,而我保持此代碼不變:

<?php if (tribe_is_multiday()): ?> 

    <h2>multi day!</h2> 

<?php else if (tribe_get_all_day()): ?> 

    <h2>all day!</h2> 

<?php else: ?> 

    <h2>other</h2> 

<?php endif; ?> 

這裏有什麼問題嗎?謝謝!

+0

no space ... use'elseif' ... – keithhatfield

+1

這不是三元語法('(cond)?true:false1')。這是「備用語法」 –

+0

噢,謝謝Marc – JCHASE11

回答

7

elseif需要是一個單詞。刪除空間。

+0

+1爲您的鏈接(http://php.net/manual/en/control-structures.alternative-syntax.php) –

+0

謝謝。 @JasonMcCreary花了我一些時間來弄清楚編輯的改變。我盯着那差異,無法找到變化,也感謝你。 – phant0m

1

使用這個語法要求ELSEIF命令,而不是其他人,如果

<?php elseif (tribe_get_all_day()): ?> 
1

這應該工作,其elseifelse if

<?php if (tribe_is_multiday()): ?> 
    <h2>multi day!</h2> 
<?php elseif (tribe_get_all_day()): ?> 
    <h2>all day!</h2> 
<?php else: ?> 
    <h2>other</h2> 
<?php endif; ?> 
0

這是那些用PHP有趣的事情之一,看到http://www.php.net/manual/en/control-structures.elseif.php

另一方面,如果您使用替代方法

if(condition1) { 
    ... 
} else if(condition2) { 
    ... 
} else { 
    ... 
} 

雖然在使用上不正確,但上述代碼實際上會運行。在使用PHP之前,很多人習慣使用JavaScript等語言,這是一個問題。它顯然不會與if ... endif模式一起工作。在PHP中,「elseif」是正確的語法。