PHP's assert statement doesn't behave like most other languages.
assert('return false'); actually evaluates the string and then asserts its result (false).
Instead of comparing the paramter to true, it goes through the extra step of examining the argument, and if it's a string evaluating it, then performing the comparison.
Very strange indeed.
My problem is not in understanding the behaviour, my problem is coming up with a valid reason for this behaviour, esp. since you now have to do the extra mental work of thinking... "does that evaluate to a string?".
Thanks