-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. LearningPHP5のコピーを購入します。
  3. 本を読んで、との違いを理解してif ($x = 4)くださいif ($x == 4)
  4. この本を読んで、forループと配列について学びましょう。
于 2013-03-18T15:54:35.490 に答える