PHP中的":"是什么意思?

Pau*_*ica 19 php syntax

可能重复: PHP中的":"是什么?

:以下PHP代码的含义是什么?

<?php
    while (have_posts()) : the_post();
?>
Run Code Online (Sandbox Code Playgroud)

irc*_*ell 37

它被称为控制结构替代语法.那之后你应该有一个endwhile;地方.基本上,它允许你{}从一段时间省略大括号,使它看起来"更漂亮"......

就你的编辑而言,它被称为三元运算符(它是第三部分).基本上它是一个分配速记.

$foo = $first ? $second : $third;
Run Code Online (Sandbox Code Playgroud)

与说(只是更短)是一样的:

if ($first) {
    $foo = $second;
} else {
    $foo = $third;
}
Run Code Online (Sandbox Code Playgroud)

  • @Shikiryu:我完全同意.我个人并不关心它(我宁愿有牙套),但它完全有效且可以使用(很多人都喜欢它). (3认同)

aio*_*obe 11

文档中while列出的示例解释了语法:

与if语句一样,您可以通过用大括号括起一组语句,或者使用替代语法,在同一个while循环中对多个语句进行分组:

while (expr):
    statement
    ...
endwhile;
Run Code Online (Sandbox Code Playgroud)

这里的答案解释如下:

这个(:)运算符主要用于php和html的嵌入式编码.

使用此运算符可以避免使用大括号.该算子降低了嵌入式编码的复杂性.你可以使用this(:)运算符if,while,for,foreach等等...

没有(:)运算符

<body>
<?php if(true){ ?>
<span>This is just test</span>
<?php } ?>
</body>
Run Code Online (Sandbox Code Playgroud)

用(:)运算符

<body>
<?php if(true): ?>
<span>This is just test</span>
<?php endif; ?>
</body>
Run Code Online (Sandbox Code Playgroud)


Víc*_* B. 7

就像是:

<?php
while(have_posts()) {
    the_post();
}
?>
Run Code Online (Sandbox Code Playgroud)


Gaz*_*ler 5

这种表示法是为了避免使用花括号 - 通常是在PHP中嵌入PHP时 - 相当于:

while (have_posts())
{
    the_post();
}
Run Code Online (Sandbox Code Playgroud)