Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么当所有条件都为真时,IF语句的计算结果为假?_Php_If Statement - Fatal编程技术网

Php 为什么当所有条件都为真时,IF语句的计算结果为假?

Php 为什么当所有条件都为真时,IF语句的计算结果为假?,php,if-statement,Php,If Statement,在这种情况下,$r、$g、$b的值为: r: 113 g: 113 b: 105 / 如果If语句的所有条件都为TRUE,为什么它的计算结果为FALSE?您缺少abs($g-b)中b前面的$您缺少abs($g-b)中b前面的$是实际代码中b变量上缺少的$,或者只是这个问题中的一个输入错误?你忘了在abs($g-b)@aynber中b前面的$了-请将此作为答案发布,这样我可以给你评分。我知道这很愚蠢,但我找不到它,只是需要一双额外的眼睛。这从来都不是一条受欢迎的建议,但我建议您启用完整的错误报告

在这种情况下,$r、$g、$b的值为:

r: 113
g: 113
b: 105
/


如果If语句的所有条件都为TRUE,为什么它的计算结果为FALSE?

您缺少
abs($g-b)中b前面的
$
您缺少
abs($g-b)中b前面的
$
是实际代码中
b
变量上缺少的
$
,或者只是这个问题中的一个输入错误?你忘了在
abs($g-b)@aynber中b前面的$了-请将此作为答案发布,这样我可以给你评分。我知道这很愚蠢,但我找不到它,只是需要一双额外的眼睛。这从来都不是一条受欢迎的建议,但我建议您启用完整的错误报告,以便PHP可以向您通知这些拼写错误。如前所述,if条件集中的最后一个子句的计算结果为false,即:`(abs($g-b)
b
变量中缺少的
$
是您的实际代码,还是这个问题中的一个输入错误?您忘记了
abs($g-b)中b前面的$@aynber-请将此作为答案发布,这样我可以给你评分。我知道这是一个愚蠢的问题,但我找不到它,只是需要一双额外的眼睛。这从来都不是一条受欢迎的建议,但我建议你启用完整的错误报告,以便PHP可以向你通知这些拼写错误。正如前面所述,你的if条件集中的最后一条是计算我不知道为什么有人否决了这个,因为它是正确的答案。因为它不是一个必要的答案,因为它只是一个打字错误。:-)我不知道为什么有人否决了这个,因为它是正确的答案。因为它真的不是一个必要的答案,因为它只是一个打字错误。:-)
$threshold = 10;
if ((abs($r - $g) <= $threshold) && (abs($r - $b) <= $threshold) && (abs($g - b) <= $threshold))
{
  return TRUE;
}
else
{
  echo "<hr/>";
  var_dump((abs($r - $g) <= $threshold) && (abs($r - $b) <= $threshold) && (abs($g - b) <= $threshold)); //bool(false) 
  echo abs($r - $g) . "<br />"; //0
  echo abs($r - $b) . "<br />"; //8
  echo abs($g - $b) . "<br />"; //8
  echo $threshold . "<br />"; //10
  var_dump( (abs($r - $g) <= $threshold)); //bool(true)
  var_dump( (abs($r - $b) <= $threshold)); //bool(true)
  var_dump( (abs($g - $b) <= $threshold)); //bool(true)
}
bool(false) 0
8
8
10
bool(true) bool(true) bool(true)