0

有人可以向我解释一下我在 word press 中查看 php 使用时经常遇到的替代语法的使用。以条件为例:

我希望看到:

if(10==10)
echo 'this is true and will be shown';

相反,我看到:

if(10==10):
echo 'this is true and will be shown;
end if;

另一个例子:

! empty ( $classes_names ) 
and  $class_names = ' class="'. esc_attr( $class_names ) . '"';

':' 和 'end if;' 是怎么回事 最后一个例子的语法不是我以前见过的那样放在一起的东西。

4

1 回答 1

6

这是 PHP 中的替代逻辑语法 - 您可以在此处阅读所有相关信息 - http://php.net/manual/en/control-structures.alternative-syntax.php

如果您在 HTML 或其他代码中包含条件语句,那么它会使事情看起来更整洁。

例如:

<body>
<? if($_GET['name']=='Dave') {?>
<h3>Hello Dave!</h3>
<? } else { ?>
<h3>Hello Stranger!</h3>
<? }?>
</body>

看起来更好的IMO:

<body>
<? if($_GET['name']=='Dave'):?>
<h3>Hello Dave!</h3>
<? else:?>
<h3>Hello Stranger!</h3>
<? endif;?>
</body>

至于最后的代码示例——这是另一种编写 if 语句的方式——所以:

<? !empty ( $classes_names ) and  $class_names = ' class="'. esc_attr( $class_names ) . '"';?>

是相同的:

<? 
if (!empty($classes_names)){
$class_names = ' class="'. esc_attr( $class_names ) . '"';
}
?>

这肯定是令人困惑的!

于 2012-08-22T09:47:33.970 回答