Php 为什么当所有条件都为真时,IF语句的计算结果为假?
在这种情况下,$r、$g、$b的值为: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: 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)