[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: тернарный оператор
mmsgold
наткнулся на такую логику в версии 5.3
теперь в ней можно пропускать оператор при условии истинно(т.е. ничего не писать там)
так вот, вот примеры
$r = true?:false; //true
$r = false?:true; //true
$r = ""?:1; //1
$r = 0?:2;//2

ну и какова здесь логика?



HErATuB
По идее здесь
$r = true?:false; //true
должно быть false;
а во всех остальных верно
mmsgold
HErATuB, да я тоже так думаю, значит ошибка в примере, просто не 0 не пустая строка не воспринимается как false,, и получается что в любом случае будет результат равный else...., кроме случая когда явно прописано false, но это и есть булевный 0, почему 0 тогда не сработал, как мне туда еще false передать
Invis1ble
Цитата
$r = true?:false; //true
$r = false?:true; //true
$r = ""?:1; //1
$r = 0?:2;//2

все верно, никаких ошибок нет, читаем мануал и просветляемся
Цитата
просто не 0 не пустая строка не воспринимается как false
mmsgold

Invis1ble
$r = true?:false; //true почему здесь возвращает true, как бы возвращает истину? так как там пусто
Invis1ble
Цитата (mmsgold @ 8.10.2013 - 18:14)
Invis1ble
$r = true?:false; //true почему здесь возвращает true, как бы возвращает истину? так как там пусто

Цитата
Выражение expr1 ?: expr3 возвращает expr1 если expr1 имеет значение TRUE, и expr3 в другом случае.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.