Сложные операторы сравнения, тернарный оператор и Null-коалесцирующий оператор

  1. Тернарный оператор - возвращает второй аргумент если условие первого аргумента выполняется и третий если условие не выполняется. В нашем примере в переменной $result будет текст on, так как переменная $var не пуста и содержит цифру Этот условный оператор очень удобно использовать при создании несложных конструкций связанных с if else задачами. Обычно используется для минимизации кода и присвоения переменной значения если имеется какое-то условие ее присвоения. Тернарные операторы очень удобны и изящны, но они не всегда нужны. Предположим, вы просто хотите выполнить функцию или выполнить несколько операций подряд, конечно в таком случае лучше не использовать теранарный(троичный) оператор, нужно воспользоваться конструкцией if else.

  2. Null-коалесцирующий оператор - должен вернуть свой первый операнд, если он существует, и не является NULL. Иначе он возвращает свой второй операнд. В нашем случае в переменной $result будет test, так как $var = null

1.
$var = 2;
$result = (!empty($var)) ? 'on' : 'off' ;
2. 
$var = null;
$result = $var ?? 'test';