Christian Žagarskas
Christian Žagarskas

Reputation: 1237

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']);

Upvotes: 3

Views: 2369

Answers (2)

Tom
Tom

Reputation: 691

As Ghost response, or even shorter

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

Upvotes: 1

Kevin
Kevin

Reputation: 41893

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'];

Upvotes: 3

Related Questions