这真让我困扰。我遇到一些非常简单的逻辑问题。变量必须介于5和35之间。如果是,我想打印pass,如果不打印失败。对于我的生活,我不能让它发挥作用。它如此简单......
if($turboPressure > 5 && $turboPressure < 35)
{print "pass";}
else
{print "fail";}
这是我最近的尝试......我尝试了4种不同的条件而且都没有工作......请帮忙。
如果有人想看一下,我想你可以在...查看 http://www.deltacst.net/php06/Lab4/Lab4.html
答案 0 :(得分:3)
您的代码运行正常。这是证据:
foreach( range( 0, 40) as $turboPressure)
{
echo $turboPressure . ' ';
echo (($turboPressure > 5 && $turboPressure < 35) ? 'pass' : 'fail');
echo "\n";
}
这会循环显示0到40,使用您编写的相同条件打印通过或失败。
您可能想要这样做:
$turboPressure = intval( $turboPressure);
这确保您处理的是整数而不是字符串。如果您正在使用字符串,则您的比较将失败。
我的样本中唯一棘手的部分是ternary operator,它采用了这个:
if( condition)
$var = 'something1';
else
$var = 'something2';
并将其转换为
$var = (condition) ? 'something1' : 'something2';
修改强>
根据您的示例代码,您应该$turboPressure
这样:
$turboPressure = intval( $_POST['turboPressure']);
答案 1 :(得分:0)
这很有效。或者实际应该工作。也许你在代码部分输错了一些你没有告诉我们的东西。请给我们整个代码(或至少重要部分)。如果是日志,请尝试使用pastebin.com。
另外,使用echo而不是print是一种很好的做法。
重要提示:$turboPressure
不会自动变为$_POST["turboPressure"]
,您必须添加第$turboPressure=$_POST["turboPressure"];
行
答案 2 :(得分:0)
可能需要先将$ turboPressure转换为int类型。
无论如何,你必须检查实际的$ turboPressure值。不拼写。不是间接问题,但这个价值本身,更好地使用var_dump()
答案 3 :(得分:0)
这段特殊的代码似乎工作得很好......我的服务器(http://www.deltacst.net/php06/Lab4/error_log)有一个错误日志文件,显示你的php代码中的错误
第14行(3个错误) 第23行(2个错误) 在谎言31(1错误)
检查你的php文件中的这些行,或者重新编写你的问题所有php文件的全部代码,这可能对你有所帮助