php:如果条件正确吗?

时间:2010-03-30 21:03:50

标签: php

我有以下条件陈述

if ( (strlen($data[70])>0) || ( (remove19((trim($data[29])) == '7135556666')) && isLongDistance($data[8]))  ) 

其中$ data是数据库中的记录集。

我的目标是包含$ data [70]不为空的所有行,还包括$ data [29] = 713555666&& $ data [8] isLongDistance = TRUE

我的问题是,如果isLongDistance($ data [8])返回false,它仍然会返回该行,因为$ data [70]不是空白的吗?

提前致谢

4 个答案:

答案 0 :(得分:3)

是的,因为你正在做OR。您的陈述将减少为“TRUE OR(TRUE AND FALSE)”,这将是TRUE。

答案 1 :(得分:0)

是的,因为你有一个OR运算符。

答案 2 :(得分:0)

如果第一件事返回TRUE则if将成功。如果第一件事将返回FALSE,那么它将在OR之后执行该部件,如果数字正确并且函数返回TRUE,那么它将成功。

无论如何,我会像这样覆盖它

if ( !empty($data[70]) or ( (int)$data[29] == 7135556666 and isLongDistance($data[8]) )

答案 3 :(得分:0)

是的。但是要真正了解人们可以理解的代码编写方法,不要只为计算机编写代码。

考虑这个简化版本。

$dataLenght   =  strlen($data[70]);
$remove19     =  remove19((trim($data[29]);
$longDistance = isLongDistance($data[8]);


if ( $dataLenght > 0 ) // your first OR if false it would goto elseif statement
{
  //condition
}

elseif( $remove19 == '7135556666'  && $longDistance) // your second statement 
{
  //conditon

}