带条件的php if elseif函数(问题)

带条件的php if elseif函数(问题),php,Php,我编写了一个包含if语句的php函数,但它似乎不起作用。(我已经经历过一次了,我想知道为什么) 这就是功能: function calculate_price_index($price){ if($price > 0 && $price <= 99){ $price_index = 8; } elseif($price >= 100 && $price <= 199){ $price_i

我编写了一个包含if语句的php函数,但它似乎不起作用。(我已经经历过一次了,我想知道为什么)

这就是功能:

function calculate_price_index($price){
    if($price > 0 && $price <= 99){
        $price_index = 8;   
    } elseif($price >= 100 && $price <= 199){
        $price_index = 1;   
    } elseif($price >= 200 && $price <= 299){
        $price_index = 2;   
    } elseif($price >= 300 && $price <= 399){
        $price_index = 3;   
    } elseif($price >= 400 && $price <= 499){
        $price_index = 4;   
    } elseif($price >= 500 && $price <= 599){
        $price_index = 5;   
    } elseif($price >= 600 && $price <= 699){
        $price_index = 6;   
    } elseif($price >= 700){
        $price_index = 7;   
    }
}
但它没有任何回应。但是,当我不将其声明为函数时,它工作得很好


谢谢大家!

您必须在函数末尾使用

return $price_index;

您必须在函数末尾使用

return $price_index;
有两种方法可以做到这一点(不必担心你的if-else会变得非常轻):

  • 函数必须返回price_索引,因此以return$price_索引结束

    echo calculate_price_index($_POST['price']);
    
  • 在函数中使用Global,并以Global$price_索引开始 有两种方法可以做到这一点(不必担心你的if-else会变得非常轻):

  • 函数必须返回price_索引,因此以return$price_索引结束

    echo calculate_price_index($_POST['price']);
    
  • 在函数中使用Global,并以Global$price_索引开始
    您可能正在使用全局
    $price\u index

    在PHP中,需要像这样使用全局变量:

    function calculate_price_index($price){
        if($price > 0 && $price <= 99){
             $GLOBALS['price_index'] = 8;   
        } elseif($price >= 100 && $price <= 199){
             $GLOBALS['price_index'] = 1;   
        } elseif($price >= 200 && $price <= 299){
             $GLOBALS['price_index'] = 2;   
        } elseif($price >= 300 && $price <= 399){
             $GLOBALS['price_index'] = 3;   
        } elseif($price >= 400 && $price <= 499){
             $GLOBALS['price_index'] = 4;   
        } elseif($price >= 500 && $price <= 599){
             $GLOBALS['price_index'] = 5;   
        } elseif($price >= 600 && $price <= 699){
             $GLOBALS['price_index'] = 6;   
        } elseif($price >= 700){
             $GLOBALS['price_index'] = 7;   
        }
    }
    
    函数计算价格指数($price){
    如果($price>0&&$price=100&&$price=200&&$price=300&&$price=400&&$price=500&&$price=600&$price=700){
    $GLOBALS['price_index']=7;
    }
    }
    

    参考资料:

    您可能正在使用全局
    $price\u index

    在PHP中,需要像这样使用全局变量:

    function calculate_price_index($price){
        if($price > 0 && $price <= 99){
             $GLOBALS['price_index'] = 8;   
        } elseif($price >= 100 && $price <= 199){
             $GLOBALS['price_index'] = 1;   
        } elseif($price >= 200 && $price <= 299){
             $GLOBALS['price_index'] = 2;   
        } elseif($price >= 300 && $price <= 399){
             $GLOBALS['price_index'] = 3;   
        } elseif($price >= 400 && $price <= 499){
             $GLOBALS['price_index'] = 4;   
        } elseif($price >= 500 && $price <= 599){
             $GLOBALS['price_index'] = 5;   
        } elseif($price >= 600 && $price <= 699){
             $GLOBALS['price_index'] = 6;   
        } elseif($price >= 700){
             $GLOBALS['price_index'] = 7;   
        }
    }
    
    函数计算价格指数($price){
    如果($price>0&&$price=100&&$price=200&&$price=300&&$price=400&&$price=500&&$price=600&$price=700){
    $GLOBALS['price_index']=7;
    }
    }
    
    参考资料:

    尝试将echo()函数放入calculate\u price\u index()函数中。我编辑了你的代码:

    <?php
    function calculate_price_index($price){
    if($price > 0 && $price <= 99){
        $price_index = 8;   
    } elseif($price >= 100 && $price <= 199){
        $price_index = 1;   
    } elseif($price >= 200 && $price <= 299){
        $price_index = 2;   
    } elseif($price >= 300 && $price <= 399){
        $price_index = 3;   
    } elseif($price >= 400 && $price <= 499){
        $price_index = 4;   
    } elseif($price >= 500 && $price <= 599){
        $price_index = 5;   
    } elseif($price >= 600 && $price <= 699){
        $price_index = 6;   
    } elseif($price >= 700){
        $price_index = 7;   
    }
    echo $price_index;
    }
    calculate_price_index(500);
    ?>
    
    
    
    如果要使用$\u POST,请确保将其转换为整数。

    尝试将echo()函数放入calculate\u price\u index()函数中。我编辑了你的代码:

    <?php
    function calculate_price_index($price){
    if($price > 0 && $price <= 99){
        $price_index = 8;   
    } elseif($price >= 100 && $price <= 199){
        $price_index = 1;   
    } elseif($price >= 200 && $price <= 299){
        $price_index = 2;   
    } elseif($price >= 300 && $price <= 399){
        $price_index = 3;   
    } elseif($price >= 400 && $price <= 499){
        $price_index = 4;   
    } elseif($price >= 500 && $price <= 599){
        $price_index = 5;   
    } elseif($price >= 600 && $price <= 699){
        $price_index = 6;   
    } elseif($price >= 700){
        $price_index = 7;   
    }
    echo $price_index;
    }
    calculate_price_index(500);
    ?>
    
    
    

    如果要使用$\u POST,请确保将其转换为整数。

    您应该返回要在末尾使用的变量,如:

     return $price_index;
    

    您应该返回要在末尾使用的变量,如下所示:

     return $price_index;