PHP-код выполняется между тегами <?php ?>
. Также возможно указывать сокращённый вид тегов <? ?>
, но их не рекомендуется использовать (по умолчанию такое использование тегов запрещено). Даже если запрещено использовать теги <? ?>
, сокращённый код вывода переменной <?=$var?>
работает в любом случае.
В конце файла рекомендуется не использовать закрывающий тег ?>
, т.к. это помогает избежать добавления случайных символов пробела или перевода строки, которые могут послужить причиной нежелательных эффектов.
Для вывода переменной внутри HTML структуры:
<?php echo $string; ?>
В альтернативном варианте это можно записать как:
<?=$string?>
Предположим мы что-то сравниваем, например, какую-то дату с текущим временем:
// Такое выражение
$date = $someDate > $currentTime;
// Равно этому
if ($someDate > $currentTime) {
$date = true;
} else {
$date = false;
}
// Теперь мы можем использовать переменную $date для проверки проходит ли условие или нет
if ($date) {
}
Это отобразит «Улица пуста» если в переменной пусто, иначе будет отображаться адрес street2.
echo empty($address['street2']) ? "Улица пуста" : $address['street2'];
Возвращает значение переменной или значение по умолчанию, если переменная пуста.
echo $address['street2'] ?: 'Empty';
echo empty($address['street2']) ? 'empty' : 'not empty';
Несколько интересных примеров с одним или несколькими различными условиями.
$color = "blue";
// Example #1 Show color without specifying variable
echo $color ? : "Undefined";
echo "<br>";
// Example #2
echo $color ? $color : "Undefined";
echo "<br>";
// Example #3
echo ($color) ? $color : "Undefined";
echo "<br>";
// Example #4
echo ($color == "blue") ? $color : "Undefined";
echo "<br>";
// Example #5
echo ($color == "" ? $color : ($color == "blue" ? $color : "Undefined"));
echo "<br>";
// Example #6
echo ($color == "blue" ? $color : ($color == "" ? $color : ($color == "" ? $color : "Undefined")));
echo "<br>";
// Example #7
echo ($color != "") ? ($color != "" ? ($color == "blue" ? $color : "Undefined") : "Undefined") : "Undefined";
echo "<br>";
Вложенное сокращение.
echo 'Your score is: '.($score > 10 ? ($age > 10 ? 'Average' : 'Exceptional') : ($age > 10 ? 'Horrible' : 'Average') );
echo (empty($address['street2']) ? 'Yes' : 'No');