为什么这个if语句每次都返回false?

时间:2015-10-30 10:15:02

标签: php if-statement

我有一段代码。尽管条件为真,但它每次都返回false。我哪里错了?

$a = 5;
$b = 10;
$c = 15;

if( ($c > $b) > $a){
    echo "yes";
} else {
    echo "no";
}

4 个答案:

答案 0 :(得分:2)

($c > $b)返回true。然后你得到true > $a这将是错误的。

您应该嵌套 if 语句,或者考虑以下内容:

if( $c > $b &&  $c > $a){

答案 1 :(得分:1)

为您的数据

($c > $b)true

true > $afalse

var_dump(100 < TRUE); // FALSE - same as (bool)100 < TRUE
var_dump(-10 < FALSE);// FALSE - same as (bool)-10 < FALSE

Comparison Operators

应该是 -

if( ($c > $b) && ($c> $a)) {

答案 2 :(得分:1)

($c > $b)产生true,用数字表达式中的1表示

1 > $a肯定是假的。

如果你想在$ c和$ a之间的范围内获得$ b,那么你可能正在找($c>$b && $b>a)

答案 3 :(得分:1)

表达式可以解释为:

1. true = 15 > 10
2. 1    = (int) true
3. true = 5 > 1

($l > $m)转换为true的整数表示形式,11小于5