Is there a technical reason why PHP does not allow comparison operator expressions like the following:

if (2 < $x <= 4) {}


I prefer this concise way as it is common for mathematics expressions, and much easier to grasp physically on first glance. From what I can tell, this expression can currently only be written as:

if ( $x > 2 && $x <= 4) {}

I'm sure someone who knows more about it than me will chime in with the real reason, but at first glance how would the interpreter interpret it?

Given 2 < $x <= 4, do you mean:

2 < $x && $x <= 4

or do you mean

(2 < $x) <= 4

where 2 < $x will evaluate to true or false. Doesn't make much sense as a condition, but it's there...

Also, you could wrap it in a function if you find you use it a lot..

function between($x, $min, $max) {
        return( $min < $x && $x < $max );
}

-philip

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to