这个if语句的含义[if(condition):something;万一;]

时间:2012-07-16 15:14:17

标签: php joomla

我今天一直在阅读一些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)。谁能指引我到正确的地方?

2 个答案:

答案 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.

冒号只是语法,类似于花括号{}的功能。