Проверка тернарным условием в php

Как в php проверить одно условие тернарным способом ?

if ($a){
  return "OK";
}

Ответы (3 шт):

Автор решения: Alexey Bril

В вашем случае тернарный оператор применить не получится, так как сам по себе тернарный оператор предполагает выбор между несколькими вариантами. Иными словами, если бы у вас было:

if ($a){
    return "OK";
} else {
    return "NOT OK"
}

Можно было бы использовать:

   return $a ? "OK" : "NOT OK"

Выражение (expr1) ? (expr2) : (expr3) интерпретируется как expr2, если expr1 имеет значение TRUE, или как expr3, если expr1 имеет значение FALSE.

Начиная с версии PHP 5.3 также стало возможным не писать среднюю часть тернарного оператора. Выражение expr1 ?: expr3 возвращает expr1 если expr1 имеет значение TRUE и expr3 в противном случае.

Операторы сравнения

Также, начиная с PHP 7, добавился новый оператор "??" (null coalescing).

// Пример использования оператора
$action = $_POST['action'] ?? 'default';

// Пример выше аналогичен следующему коду
if (isset($_POST['action'])) {
   $action = $_POST['action'];
} else {
   $action = 'default';
}
→ Ссылка
Автор решения: Ипатьев

Тернарный оператор должен возвращать значение для обеих веток - как для случая, когда проверка возвращает true, так и для false

Поскольку в приведенном примере есть только одна ветка, то заменить его на тернарный оператор нельзя

→ Ссылка
Автор решения: Федотов

Вот такое решение нашел $a ?: return "OK";

→ Ссылка