Php If else statment


Php If else statment

我在这里做错了什么吗,返回值不对,只返回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;
?>