PHP,速记,If..Else使用三元运算符

时间:2015-04-23 05:00:42

标签: php operators ternary

这是否有一个oneliner?一个不错的三元OP?

$F_NAME = $_SESSION['USR']['F_NAME'];
if(isset($_POST['F_NAME'])) {$F_NAME = $_POST['F_NAME'];}

基本上"如果发送了POST,请显示即使帖子为空,否则从会话中获取值,但仅当帖子未设置或为空时才显示#34;

真的在这里分裂头发......

寻找类似的东西:

$F_NAME = ? ($F_NAME ? isset($_POST['F_NAME']) : $_SESSION['USR']['F_NAME']);

2 个答案:

答案 0 :(得分:3)

它应该是:

(conditions) ? true : false
   satisfies <--^      ^----> did not satisfy

所以这相当于:

$F_NAME = isset($_POST['F_NAME']) ? $_POST['F_NAME'] : $_SESSION['USR']['F_NAME'];

答案 1 :(得分:1)

作为Ghost响应,甚至更短

$F_NAME = $_POST['F_NAME'] ? : $_SESSION['USR']['F_NAME'];