понедельник, 18 января 2016 г.

Сокращенный тернарный оператор в PHP

Тернарный оператор — вещь известная и скучная:

$a = $expr1 ? $expr2 : $expr3;
Если $expr1 истинно, результатом $a станет $expr2, иначе $expr3.
А теперь об интересном! Начиная с версии PHP 5.3 можно опустить $expr2.

$a = $expr1 ?: $expr3;
Это равносильно записи:

$a = $expr1 ? $expr1 : $expr3;
Примеры:

$a = true ?: false; // true

$a = false ?: true; // true

$a = 1 ?: 2; // 1

$a = 0 ?: 2; // 2
В мануале об этом упоминается очень сухо и коротко. Ну а что еще добавить?

IT-записки

comments powered by Disqus