Что означает ":" в PHP?

Возможный дубликат: Что такое ":" в PHP?

Что означает : в следующем PHP-коде?

<?php
    while (have_posts()) : the_post();
?>

Ответ 1

Он называется Альтернативный синтаксис для структур управления. После этого вы должны иметь endwhile;. В принципе, он позволяет вам немного опустить фигурные скобки {}, чтобы заставить его выглядеть "красивее"...

Что касается вашего редактирования, он называется Ternary Operator (это третий раздел). В основном это сокращенное присвоение.

$foo = $first ? $second : $third;

- это то же самое, что сказать (просто короче):

if ($first) {
    $foo = $second;
} else {
    $foo = $third;
}

Ответ 2

В документации для while приведен пример, который объясняет синтаксис:

Как и оператор if, вы можете группировать несколько операторов внутри одного цикла while, окружая группу операторов с фигурными фигурными скобками или используя альтернативный синтаксис:

while (expr):
    statement
    ...
endwhile;

Ответ здесь объясняет это следующим образом:

Этот (:) оператор в основном используется во встроенном кодировании php и html.

Используя этот оператор, вы можете избежать использования фигурной скобки. Этот оператор снижает сложность встроенного кодирования. Вы можете использовать этот оператор (:) с if, while, for, foreach и т.д.

Без оператора (:)

<body>
<?php if(true){ ?>
<span>This is just test</span>
<?php } ?>
</body>

С оператором (:)

<body>
<?php if(true): ?>
<span>This is just test</span>
<?php endif; ?>
</body>

Ответ 3

это нравится:

<?php
while(have_posts()) {
    the_post();
}
?>

Ответ 4

Эта нотация заключается в том, чтобы избежать использования фигурных скобок - обычно при вложении PHP в HTML - и эквивалентно:

while (have_posts())
{
    the_post();
}

Ответ 5

Он говорит, что have_posts() true работает the_post().

Ответ 6

while (expression is true : code is executed if expression is true)

Ответ 7

while(expression = true) : run some code ;