2012-11-09 21 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”是正确的语法。