php Тернарный оператор без else (без ветки ложности, в неполной форме) -- если ли он в природе

В чистой форме варианта без else пока что не существует, да и если бы он существовал, то оказалось бы, что для несуществующей ветки (else) надо возвращать null, что не очень понятно как применять (т.е. полезность тернарного оператора в неполной форме сомнительна или неочевидна).

Что есть похожее:

  1. Краткая запись тернарного оператора

    Тернарный оператор начиная с версии PHP5.3 позволяет не прописывать ветку истинности -- тогда он склеивается в оператор ?:, причем работает правило:

    Выражение expr1 ?: expr3 возвращает expr1 если expr1 имеет значение TRUE и expr3 в противном случае.

    - т.е. то что стоит до знака вопроса тоже возвращается, как значение, так как сокращенный вариант

     $a ?: $b

    эквивалентен

    $a ? $a : $b

    Таким образом, эта краткая форма придумана что не дублировать первую часть (подходит для ряда решений).

    Использование сокращенного тернарного оператора без присваивания

    Можно использовать сокращенный тернарный оператор как замену if в неполной форме (но для этого придется использовать оператор отрицания на условии), такой вот не особо очевидный код (тут уж без присваивания):

    $a = 1;
    // тераный в псевдонеполной форме
    !true ?: $a = 2;
    
    print_r($a);
    // выведет 2
    
    

    (использовать данный подход не рекомендую в силу плохой читаемости)

  2. Null-коалесцентный оператор (??) -- позволяет проверять на null и несуществование значения, хотя и чем-то похож, но тернарным не является (так как участвую только два значения, а не три).