-2

我同意构建一个计算“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

4

2 回答 2

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;
}

虽然这是错误的方法,但它现在应该回答这个问题..

于 2013-03-18T15:09:19.083 回答
0

好的,要优化此功能,您应该执行以下操作:

  1. 前往最近的技术书店,或在 oreilly.com 上注册。
  2. 购买一份Learning PHP5
  3. if ($x = 4)阅读本书并了解和之间的区别if ($x == 4)
  4. 阅读本书并了解 for 循环和数组。
于 2013-03-18T15:54:35.490 回答