I've just read the page on Expressions in the PHP docs, and right at the top it says:

The simplest yet most accurate way to define an expression is "anything that has a value".

That simple definition includes all functions and most language constructs, however there a few language constructs that explicitly state they do not return a value.

Here is a list of language constructs that do return a value:

Here are the interesting few which do not return a value, and therefore are not expressions:

I find die and exit of particular interest, because they can be used as expressions in PHP despite having no retu

Edit
Report