Возможный дубликат: Что такое ":" в PHP?
Что означает :
в следующем PHP-коде?
<?php
while (have_posts()) : the_post();
?>
Возможный дубликат: Что такое ":" в PHP?
Что означает :
в следующем PHP-коде?
<?php
while (have_posts()) : the_post();
?>
Он называется Альтернативный синтаксис для структур управления. После этого вы должны иметь endwhile;
. В принципе, он позволяет вам немного опустить фигурные скобки {}
, чтобы заставить его выглядеть "красивее"...
Что касается вашего редактирования, он называется Ternary Operator (это третий раздел). В основном это сокращенное присвоение.
$foo = $first ? $second : $third;
- это то же самое, что сказать (просто короче):
if ($first) {
$foo = $second;
} else {
$foo = $third;
}
В документации для 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>
это нравится:
<?php
while(have_posts()) {
the_post();
}
?>
Эта нотация заключается в том, чтобы избежать использования фигурных скобок - обычно при вложении PHP в HTML - и эквивалентно:
while (have_posts())
{
the_post();
}
Он говорит, что have_posts()
true
работает the_post()
.
while (expression is true : code is executed if expression is true)
while(expression = true) : run some code ;