Тернарные операторы. Возможно одностороннее действие?

Я использовал тернарные операторы некоторое время, и мне было интересно, есть ли способ дать возможность вызвать функцию без предложения else . Пример:

 if(isset($foo)){ callFunction(); }else{ } 

Теперь, очевидно, мы можем оставить в стороне else :

 if(isset($foo)){ callFunction(); } 

Теперь для тройной Как вы можете «передать» предложение else, если условие возвращает false?

 (isset($foo))?callFunction():'do nothing!!'; 

Или тайна или не возможно?

Related of "Тернарные операторы. Возможно одностороннее действие?"

Короткое замыкание

 isset($foo) and callFunction(); 

Отмените условие и опустите второй аргумент

 !isset($foo) ?: callFunction(); 

или вернуть только «что-то»,

 isset($foo) ? callFunction() : null; 

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

 if (isset($foo)) callFunction(); 

Зачем вам использовать тернарный оператор в этом случае? Тернарный оператор предназначен для использования при наличии двух возможных сценариев и не имеет особого смысла в случае, когда вы заботитесь только о случае if . Если вам нужно это сделать, просто оставьте его пустым: (cond)?do_something():;

Поставьте нуль после двоеточия. Кроме того, предполагая, что вы находитесь на Perl, вы можете использовать лучшие условия «condition and action ()», «action (), если условия« идиомы ».