【问题标题】:optimize the array with for loop使用 for 循环优化数组
【发布时间】:2013-03-18 15:02:11
【问题描述】:

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

【问题讨论】:

  • if 测试开始的目的是什么?你在哪里发送一个值?
  • 您的函数甚至不接受输入值,我不知道您要完成什么。
  • 所有if ($i = X) 至少应该是if ($i == X)。而且,正如其他人所说,您的功能没有价值。它只设置了一个价格区间数组。
  • Andriaon,函数的概念是用不同的主机组填充一个数组。
  • “Andriaon”是我名字的一种新形式。您实际上应该阅读我的评论。

标签: php arrays for-loop


【解决方案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;
}

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

【讨论】:

  • 我想要的只是用户发送数字“2”,然后我会重新调出“1-3”
  • 我想要的只是用户发送数字“2”,然后我会重新调出“1-3”
  • 我想他想返回一个覆盖输入值的价格区间。例如,覆盖输入“2”的区间是“1-3”。
  • 什么鬼?有没有想过对您的问题进行适当的描述?我的解决方案是您问题的答案。它不在正确的地方这一事实与您发布的问题无关!
  • 我认为他不知道他想要什么,或者他想让我们做概念和实际的编程工作......
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2021-06-22
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 2015-04-15
    • 2021-10-11
    • 1970-01-01
    相关资源
    最近更新 更多