A gem from the comments on the (otherwise pretty good) PHP manual on the abs() function:
Sometimes you may want to do the opposite of abs(): turn a positive number into a negative. <?php function turn_neg ($num) { return $num - $num * 2; } ?> But this can create errors when you put a negative number inside… turn_neg (-2) returns 6. <?php turn_neg (-2); // 6. ?> The solution is to make another function to determine if the number is negative or not. <?php function is_neg ($num) { return $num < 0; } function turn_neg ($num) { if (is_neg ($num)) { return $num - $num * 2; } else { return abs ($num); } } turn_neg (2); // -2 turn_neg (-2); // 2 ?> Or, if the number is not negative, you could also return false.
Although this is a clear demonstration of little reflection on what is really the simplest way of achieving this, I can somehow appreciate the enthusiasm with which the author describes his “inventive” solution. It works, but a simple -1*abs($num) would have worked just as well.

