?: Elvis Operator
?: Elvis Operator
Returns the right operand if the left operand is falsy (expression)
The Elvis Operator is a little like a conditional where the result of the operation is the first non-falsy value from left to right.
A falsy value is any of the following:
- an unset / undefined variable
- any value with a
stror generic with the value
- a number (
int) with the value
- an empty object or zero length array
- and, of course, a boolean with the value
Assign a variable with a default value:
» $foo = $bar ?: "baz"
$bar is falsy, then the value of
$foo will be "baz".
Multiple elvis operators:
» $unset_variable ?: null ?: false ?: "foobar" foobar
Whats in a name?
Wikipedia explains this best where it says:
The name "Elvis operator" refers to the fact that when its common notation,
?:, is viewed sideways, it resembles an emoticon of Elvis Presley with his signature hairstyle.
- Pipeline: Overview of what a "pipeline" is
- Schedulers: Overview of the different schedulers (or 'run modes') in Murex
&&And Logical Operator: Continues next operation if previous operation passes
??Null Coalescing Operator: Returns the right operand if the left operand is empty / undefined (expression)
?STDERR Pipe: Pipes STDERR from the left hand command to STDIN of the right hand command (DEPRECATED)
err: Print a line to the STDERR
expr: Expressions: mathematical, string comparisons, logical operators
out: Print a string to the STDOUT with a trailing new line character
try: Handles non-zero exits inside a block of code
trypipe: Checks for non-zero exits of each function in a pipeline
||Or Logical Operator: Continues next operation only if previous operation fails
- null: null function. Similar to /dev/null
This document was generated from gen/expr/elvis_op_doc.yaml.