我在这里做错了什么吗,返回值不对,只返回else部分。。
我想检查输入值是否大于或等于,小于或等于以下条件,这是正确的方法还是我做错了。。。
$tornadoball = 22;
$tornadoVal = "";
$tornadoScore = "";
if ( $tornadoball <= 20 && $tornadoball >= 29): {
$tornadoScore = 0.25;
}
elseif ( $tornadoball <= 30 && $tornadoball >= 34): {
$tornadoScore = 0.50;
}
elseif ( $tornadoball <= 35 && $tornadoball >= 39 ): {
$tornadoScore = 0.75;
}
elseif ( $tornadoball >= 40 ): {
$tornadoScore = 1.00;
}
else: {
echo " Value";
}
endif;
$tornadoVal == floatval($tornadoScore);
echo $tornadoVal;
也许你指的是>= min
和<= max
,(介于两者之间):
$tornadoball = 22;
$tornadoScore = 0;
if($tornadoball >= 20 && $tornadoball <= 29) { // if this number is in between 20 to 29
$tornadoScore = 0.25;
}
elseif($tornadoball >= 30 && $tornadoball <= 34) { // if this number is in between 30 to 34
$tornadoScore = 0.50;
}
elseif($tornadoball >= 35 && $tornadoball <= 39 ) { // if this number is in between 35 to 39
$tornadoScore = 0.75;
}
elseif($tornadoball >= 40 ) { // if this number is greater than 40
$tornadoScore = 1.00;
}
else {
echo 'did not meet any criteria';
}
var_dump($tornadoScore);
更改这行代码
if ( $tornadoball <= 20 && $tornadoball >= 29):
到这个
if ( $tornadoball <= 20 && $tornadoball >= 29)
删除冒号并移除
endif;
您不需要编写:
或endif;
!
这应该有效:
<?php
$tornadoball = 22;
$tornadoVal = "";
$tornadoScore = "";
if ( $tornadoball <= 20 && $tornadoball >= 29)
{
$tornadoScore = 0.25;
}
elseif ( $tornadoball <= 30 && $tornadoball >= 34)
{
$tornadoScore = 0.50;
}
elseif ( $tornadoball <= 35 && $tornadoball >= 39 )
{
$tornadoScore = 0.75;
}
elseif ( $tornadoball >= 40 )
{
$tornadoScore = 1.00;
}
else
{
echo " Value";
}
$tornadoVal == floatval($tornadoScore);
echo $tornadoVal;
?>
嗨,请使用以下代码进行检查。。这是你期望的输出吗。。
$tornadoball = 22;
$tornadoVal = "";
$tornadoScore = "";
if (($tornadoball <= 20) || ($tornadoball >= 29))
{
$tornadoScore = 0.25;
}
else if (($tornadoball <= 30) ||($tornadoball >= 34))
{
$tornadoScore = 0.50;
}
else if (($tornadoball <= 35) || ($tornadoball >= 39))
{
$tornadoScore = 0.75;
}
else if ($tornadoball >= 40 )
{
$tornadoScore = 1.00;
}
else
{
$tornadoScore= " Value";
}
$tornadoVal = floatval($tornadoScore);
echo $tornadoScore;
试试这个,**阅读答案中的注释
第二个 你的大部分条件永远不会得到满足。所以我换了它们看看
<?php $tornadoball = 22;
$tornadoVal = "";
$tornadoScore = "";
//Below if condition is wrong
if ( $tornadoball >= 20 && $tornadoball <= 29): {
$tornadoScore = 0.25;
}
elseif ( $tornadoball >= 30 && $tornadoball <= 34): {
$tornadoScore = 0.50;
}
elseif ( $tornadoball >= 35 && $tornadoball <= 39 ): {
$tornadoScore = 0.75;
}
elseif ( $tornadoball >= 40 ): {
$tornadoScore = 1.00;
}
else: {
echo " Value";
}
endif;
$tornadoVal = floatval($tornadoScore);
//You got two equal, two equal are comparistion operator
//use one equal. Thats assignment operator
echo $tornadoVal;
<?php
// initialization
$tornadoball = 22;
$tornadoVal = "";
$tornadoScore = "";
//Below if condition is wrong
if ( $tornadoball >= 20 && $tornadoball <= 29) {
$tornadoScore = 0.25;
}
elseif ( $tornadoball <= 30 && $tornadoball >= 34) {
$tornadoScore = 0.50;
}
elseif ( $tornadoball <= 35 && $tornadoball >= 39 ) {
$tornadoScore = 0.75;
}
elseif ( $tornadoball >= 40 ) {
$tornadoScore = 1.00;
}
else {
// do nothing
}
echo "Score Value = " . $tornadoScore;
$tornadoVal = floatval($tornadoScore);
//You got two equal, two equal are comparistion operator
//use one equal. Thats assignment operator
echo "<br>";
echo "Tornado Value = " . $tornadoVal;
?>