Intereting Posts
Автоматически перенаправлять пользователя при сеансе Тайм-аут или бездействует Функция PHP не определена Ошибка и синтаксическая ошибка неуместного </ p> в сгенерированном HTML Не удалось загрузить запрошенный класс: Session Codeigniter 3 Где разместить Blade :: extend php допускает только буквы, цифры, пробелы и конкретные символы, используя pregmatch Laravel 5 Class 'Collective \ Html \ HtmlServiceProvider' не найден на AWS Как использовать Elastic Search поверх ранее существующей базы данных SQL? Неустранимая ошибка: исключить исключение «Zend_Gdata_App_HttpException» с сообщением «Ожидаемый код ответа 200, получил 401» PHP Тернарный оператор в ассоциативном массиве, чтобы установить как ключ, так и значение? В чем разница между homeUrl и baseUrl в структуре Yii? Назначить значение jquery переменной php Как добавить название записи в описание контента? при загрузке имен файлов с неанглийских языков не отображаются в загруженном файле правильно Использование ZipStream в Symfony: потоковая загрузка zip не будет распаковываться с помощью утилиты архива на Mac OSX Установка php-soap с yum и грушей не работает

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

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

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

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

Related of "Что означает «:» в PHP?"

Это называется альтернативным синтаксисом для управляющих структур . Вы должны иметь endwhile; где-то после этого. В принципе, он позволяет вам временно опустить фигурные скобки {} , чтобы он выглядел «красивее» …

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

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

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

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

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

Как и в случае оператора 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 ;