AGAVA partners programs http://agava.ru/partners/            

Название функции

             
Веб-курсы


Что это?

Оглавление

Основы
Основы основ

Практика
Гостевая книга
Простой сайт
Структура сайта (MVC)
Ядро (Light)
Ядро
Гостевая на SQL
Статические страницы
Модуль новостей
Система регистрации

Теория
Дебаггинг
Регулярные выражения
Введение в ООП
Паттерны проектирования

Репозитарий
BB-code
Почтовый класс
Пагинатор
Всякие полезности

Download
Полезные утилиты

Разное
Видеокурсы
Последние изменения
Вопросы и замечания сюда



Реклама

Диеты для похудения
Фреймворк Kohana. Обучение. Мануал на русском.







Тернарный оператор

Любопытное дело с этим тернарным оператором. Вообще он придуман для того, что бы упростить жизнь разработчика. И так оно и есть. Но почему то начинающие программисты никак не могут его усвоить. Хотя казалось бы - чего проще:
Тернарный оператор в зависимости от результата  выполнения выражения в аргументе 
возвращает значение, находящееся слева или справа от двоеточия.


А вот никак не доходит с первого тычка. Хотя если опустить термины и попытаться объяснить своими словами, все гораздо проще.

Представьте ситуацию, когда муж пришел домой под градусом. Жена сразу же с порога задаст вопрос:
1
2
3
4
5

    $жена 
= (Зарплату пропил) ?

И в зависимости от того, что ответит муж, предпримет действия:
1
2
3
4
5

    $жена 
= (Зарплату пропил) ? ' Скалкой по башке' : 'Поцелует в щечку';


То есть если ответ утвердительный, факт - целовать не станет.
Так же и с переменными. Выбираем переменную, в которую хотим записать одно из возможных значений:
1
2
3
4
5

    $variable 



А потом ставим условие, как бы спрашивая (там даже знак вопроса специально) - правда или нет.
1
2
3
4
5

    $variable 
= empty($var) ? 'Переменная $var пустая' 'Переменная $var полная';


И в зависимости от состояния переменной $var запишет правое или левое от двоеточия значение. Причем порядок такой, как мы обычно и спрашиваем в жизни - ДА или НЕТ? Попробуйте спросить наоборот - НЕТ или ДА? Не звучит.

Так что все на самом деле гораздо проще чем кажется. Впрочем это касается не только тернарных операторов, если развеять дымовую завесу спецтерминов и профессионального жаргона.

Рейтинг@Mail.ru Рейтинг@Mail.ru Яндекс цитирования
irbis-team © 2009