Размышлизмы про Элвиса

Хорошее название, правда?:)

А знаете как называют вот этот смайлик

?:)

Элвис!

А ещё это тенарная… не, тернанрная… тьфу, ну конечно же ТЕРНАРНАЯ операция!
Она, конечно, записывается без скобки в конце. Если перевести её на русско-программистский, то

(если высказывание даёт истину) ? (то вычисляем это) : (иначе это);

Если вы программируете на PHP, то возможно иногда встречали нечто похожее:

$tmp = getName();
$name = $tmp ? $tmp : "no name";

Я возможно преувеличиваю, но общий смысл должен быть ясен. Есть функция, которая что то возвращает, и мы это что то проверяем на отсутствие значения (всё что даёт false). После проверки мы это помещаем обратно в переменную.
Во второй строчке кода используется не нормальный Элвис…

Нормальный Элвис появился в PHP начиная с версии 5.3. И вы теперь можете не повторяться повторяться в средней части. Вторая строка из предыдущего примера, окажется такой:
$name = getName() ?: «no name»;

Таким образом, она захватила в себя первую. Обратите внимание, между «чубчиком» и «глазами» пробелов может быть сколько угодно.

Переменную $tmp уже можно не создавать. Просто вызываем функцию, и её значение используем по полной программе. Если там хоть что-то есть то забросим в $name. Если возвращаемая строка пустая, или не существует (null) то забросим «no name».

Понравилась статья? Посоветуйте другу

Количество коментариев: 2

  1. Спасибо за статью

  2. Я бы в тернарной операции Элвиса точно не увидел. Теперь хохочу над смайлами знаменитостей. Прикольно! =):-)

Добавить комментарий



[ Ctrl + Enter ]