我今天一直在阅读一些joomla
代码,而且我经常遇到如下声明:
<?php if ( intval($this->item->modified) != 0 && $this->item->params->get('show_modify_date')) : ?>
<tr>
<td colspan="2" class="modifydate"><?php echo JText::sprintf('LAST_UPDATED2', JHTML::_('date', $this->item->modified, JText::_('DATE_FORMAT_LC2'))); ?> </td>
</tr>
<?php endif; ?>
我阅读它的方式似乎转换为以下语法:
if (condition) :
// do something here
endif;
我不熟悉这种语法(:
语句后if
)。谁能指引我到正确的地方?
答案 0 :(得分:5)
检查Alternative syntax for control structures:
PHP为其某些控制结构提供了另一种语法; 即,if,while,for,foreach和switch。在每种情况下,基本的 替代语法的形式是将左大括号更改为冒号 (:)和endif的结束括号;,endwhile;,endfor;,endforeach;, 或者endwitch;分别。
答案 1 :(得分:3)
请参阅PHP文档:
参考:http://php.net/manual/en/control-structures.elseif.php
Note: Note that elseif and else if will only be considered exactly the same when using curly brackets as in the above example. When using a colon to define your if/elseif conditions, you must not separate else if into two words, or PHP will fail with a parse error.
冒号只是语法,类似于花括号{}
的功能。