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