简体   繁体   中英

PHP, Shorthand, If..Else using Ternary Operators

Is there a oneliner for this? A nice Ternary OP?

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

Basically "If the POST is sent, show that, even if the post is empty, otherwise grab the value from the session, but only if the post was not set or empty"

Really splitting hairs here...

looking for something like this:

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

Its supposed to be:

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

So this equates into:

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

作为Ghost的回应,甚至更短

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM