0 php language-features ternary-operator language-construct
是否有可能以某种方式将其重写为更短?
if (isset($_POST['pic_action'])){
$pic_action=$_POST['pic_action'];
}
else {
$pic_action=0;
}
Run Code Online (Sandbox Code Playgroud)
我在某个地方见过它但忘了......:/
顺便说一句,如果你愿意,请解释你的代码!
谢谢
Gum*_*mbo 18
您可以使用条件运算符?::
$pic_action = isset($_POST['pic_action']) ? $_POST['pic_action'] : 0;
Run Code Online (Sandbox Code Playgroud)
条件运算表达式expr1 ? expr2 : expr3的计算结果为返回值expr2,如果的评价返回值expr1是真 ; 否则表达式求值为已计算的返回值expr3.因此,如果isset($_POST['pic_action'])求值为true,则整个表达式将计算得到的值$_POST['pic_action']和0其他值的求值.
因此,在短期:如果isset($_POST['pic_action'])为真,$pic_action将持有的价值$_POST['pic_action']及0其他.
Gumbo的答案可能是最好的方法.
它也可以写成:
$pic_action = 0;
if (isset($_POST['pic_action'])){
$pic_action=$_POST['pic_action'];
}
Run Code Online (Sandbox Code Playgroud)