我写了一个包含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;
}
}
我想这样执行:
calculate_price_index($_POST['price']);
echo $price_index;
但它没有回应任何东西。但是,当我没有将此声明为函数时,它可以正常工作。
谢谢!
答案 0 :(得分:1)
你必须在功能结束时使用
return $price_index;
答案 1 :(得分:1)
有两种方法可以做到这一点(不要想知道你的if-else可能会更轻):
并写
echo calculate_price_index($_POST['price']);
答案 2 :(得分:1)
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 your values from here
return $price_index;
}
我想这样执行:
$price_index = calculate_price_index($_POST['price']);
echo $price_index;
答案 3 :(得分:1)
您可能正在使用全局$price_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;
}
}
答案 4 :(得分:0)
尝试将echo()函数放在calculate_price_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);
?>
如果您要使用$ _POST,请确保将其转换为整数。
答案 5 :(得分:0)
你应该返回最后使用的变量,如:
return $price_index;