Тернарные (условные) операторы в PHP

Если вы продолжительное время занимаетесь программированием, то наверняка знаете о тернарных (условных) операторах, которые заменяют конструкцию: if-else. Пример с сайта php.net:

<?php
    // Пример использования тернарного оператора
    $action = (empty($_POST['action'])) ? 'default' : $_POST['action'];
    // Верхняя строка идентична конструкции if/else
    if (empty($_POST['action'])) {
        $action = 'default';
    } else {
        $action = $_POST['action'];
    }
?>

В конструкции Выражение1 ? Выражение2 : ВыражениеЗ выполняется Выражение2 если Выражение1 истинно, иначе выполняется Выражение3. Недавним открытием для меня было, что с версии 5.3 в PHP появилась новая форма тернарного оператора, в которой можно опустить Выражение2. Получается конструкция вида Выражение1 ?: ВыражениеЗ, в которой выполняется Выражение1 если оно само истинно, иначе Выражение3.