Оператор "()?:", эффективность

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Вот 2 строчки:

$lastmode=(isset($_SESSION['lastmode']))?$_SESSION['lastmode']:Mlogin;

$lastmode=(isset($tmp=$_SESSION['lastmode']))?$tmp:Mlogin;

Является ли вторая более эффективной?
Аватара пользователя
Duncon
Сообщения: 2085
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

Замерь, думаю что нет, я пишу по 1 варианту всегда. Операция присваивания сама собой повлечёт выделенее памяти под новую переменную (или ссылку на неё тут уж хз как устроенно там внутри), что естественно дольше чем считать существующую.
Это логическая выкладка исходя из опыта разностороннего программирования, последнее время пишу очень тяжёлые скрипты, тем неменее отлично php со всем этим справляется, над производительностью особо не парся, главное чтоб ошибок явных небыло..
И на последок ещё раз скажу php это массив в массиве и опять в массиве : ) разницы в доступе нет.
Ответить