Writing 'if (foo = "bar")' instead of 'if (foo == "bar")' is a classic
error that has bitten many programmers, since it can be difficult while
quickly skimming the source code to determine whether the assignment
was intentional or simply a typo.
Since it's not technically invalid syntax, you just get a warning, but
I wouldn't recommend making heavy use of mixed assignment and test.