PHP 5+
(condition) ? /* value to return if condition is true */
: /* value to return if condition is false */ ;
syntax is not a “shorthand if” operator (the ?
is called the conditional operator) because you cannot execute code in the same manner as if you did:
if (condition) {
/* condition is true, do something like echo */
}
else {
/* condition is false, do something else */
}
PHP 7+
As of PHP 7, this task can be performed simply by using the Null coalescing operator like this :
<?php // Fetches the value of $_GET['user'] and returns 'nobody' // if it does not exist.$username = $_GET['user'] ?? 'nobody';
// This is equivalent to:$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
// Coalescing can be chained: this will return the first // defined value out of $_GET['user'], $_POST['user'], and // 'nobody'.$username = $_GET['user'] ?? $_POST['user'] ?? 'nobody';
?>