Ternary Operators. Possible for a one sided action?

旧街凉风 提交于 2019-11-28 10:58:29

Short-circuit

isset($foo) and callFunction();

Reverse the condition and omit the second argument

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

or return just "something"

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

However, the ternary operators is designed to conditionally fetch a value out of two possible values. You are calling a function, thus it seems you are really looking for if and misuse ?: to save characters?

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

Why would you use a ternary operator in this case? The ternary operator is meant to be used when there are two possible scenarios and doesn't make much sense in the case where you only care about the if case. If you have to do it however, simply leave the case empty: (cond)?do_something():;

Put zero after colon. Also, assuming you're on Perl, you may use better 'condition and action()', 'action() if condition' idioms.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!