As described in Is floating point math broken?, 0.1 + 0.2
evaluates to 0.30000000000000004
in most programming languages.
However, PHP, presumably due to being the best of all the programming languages, is able to calculate 0.1 + 0.2 correctly:
php > echo 0.1 + 0.2;
0.3
php > var_dump(0.1 + 0.2);
float(0.3)
However, despite the output shown above, 0.1 + 0.2 != 0.3:
php > var_dump(0.1 + 0.2 == 0.3);
bool(false)
What's going on here?