Uniform variable syntax
Most of the time, we may face a situation in which the method, variable, or classes names are stored in other variables. Take a look at the following example:
$objects['class']->name;
In the preceding code, first, $objects['class']
will be interpreted, and after this, the property name will be interpreted. As shown in the preceding example, variables are normally evaluated from left to right.
Now, consider the following scenario:
$first = ['name' => 'second']; $second = 'Howdy'; echo $$first['name'];
In PHP 5.x, this code would be executed, and the output would be Howdy
. However, this is not inconsistent with the left-to-right expression evaluation. This is because $$first
should be evaluated first and then the index name, but in the preceding case, it is evaluated as ${$first['name']}
. It is clear that the variable syntax is not consistent and may create confusion. To avoid this inconsistency...