我同意建立一个计算“priceinterval”的函数。这意味着您要构建一个数组,要为1-3之间的示例编号分配值,以指定“1-3”示例$ array [2] => “1-3”和4-10 $ array [5] => “4-10” 我已经构建了一个可以工作的函数,但是想要优化函数,一个擅长for循环的人;)
public function CalcPris() {
$Prisinterval = array();
for ($i = 0; $i <= 3; $i++) {
array_push($Prisintervall, "1-3");
}
if ($i = 4) {
for ($i = 4; $i <= 10; $i++) {
array_push($Prisintervall, "4-10");
}
}
if ($i = 11) {
for ($i = 11; $i <= 50; $i++) {
array_push($Prisintervall, "11-50");
}
}
if ($i = 51) {
for ($i = 51; $i <= 100; $i++) {
array_push($Prisintervall, "51-100");
}
}
var_dump($Prisinterval);
}
这个功能的原因是你应该得到一个价格下限。
我的下一步是检查数字“2”的值是多少,因此,请构建一个已经完成的数组,其值为1-100
答案 0 :(得分:1)
你的方法完全没了...... 你想要这样的东西:
function printerval($int){
if($int >= 1 && $int <= 3){
return "1-3";
}elseif($int >= 4 && $int <= 10){
return "4-10";
}elseif($int >= 11 && $int <= 50){
return "11-50";
}elseif($int >= 51 && $int <= 100){
return "51-100";
}
return "error";
}
调用printerval(2);
将返回字符串“1-3”
这里似乎是愚蠢的事情:
function printerval(){
$arr= array();
for($i=1;$i<=100;$i++){
if($i >= 1 && $i <= 3){
$arr[$i]= "1-3";
}elseif($i >= 4 && $i <= 10){
$arr[$i]= "4-10";
}elseif($i >= 11 && $i <= 50){
$arr[$i]= "11-50";
}elseif($i >= 51 && $i <= 100){
$arr[$i]= "51-100";
}
}
return $arr;
}
虽然这是错误的做法,但现在应该回答这个问题。
答案 1 :(得分:0)
好的,要优化此功能,您应该执行以下操作:
if ($x = 4)
和if ($x == 4)
之间的区别。