高级php格式化需要帮助理解布局

Here is the function:

function simplePresent($e) {

    $w = ($f = preg_match)('/ey|se|d |[sI]$|We/', $a = $e[0]);

    be == ($b = $e[1])
    ?
    $b = $w ? $a == I ? am : are : is
    :
    $w ?: $b = $b == have ? has : $b .= $f('/[h-z]$/', $b) ? es : s;

    return "$a $b $e[2]";
}

this is a solution on codefights. it handles formatting under defined parameters. I am trying to understand the function assignment to the variables $f and $w. Also the the use of variables with no quotes. lastly the nested question marks and colons. How is this functioning?

Thanks

The function preg_match() is being assigned to the variable $f and reused later in the code. $w is simply the result of preg_match(). For example:

<?php
$w = ($f = 'sprintf')("foo");
// same as this:
$f = 'sprintf';
$w = $f("foo");
// which is the same as this:
$w = sprintf('foo');

The unquoted values will first be interpreted as constants, and the undefined constants will be interpreted as strings. Here's how a proper constant definition looks:

<?php
define("foo", "bar");
echo foo;
echo bar;
// PHP Notice:  Use of undefined constant bar - assumed 'bar'

// same as this:
echo "bar";
echo "bar";

The question marks and colons are part of a ternary statement. This is a useful shorthand, but PHP recommends against stacking them together as is done there (the result is "non-obvious.") A simple one looks like this:

<?php
echo ($foo == "foo" ? "equal" : "inequal");
$a = $b ? $c : $d;

// this is the same as:
if ($foo == "foo") {
    echo "equal";
} else {
    echo "inequal";
}
if ($b) {
    $a = $c;
} else {
    $a = $d;
}