【问题标题】:Compute everything inside foreach loop计算 foreach 循环中的所有内容
【发布时间】:2014-03-27 03:25:27
【问题描述】:

我有foreach,其中包含候选人列表。我正在尝试计算 foreach 内的百分比,然后输出结果。不知道是什么问题,我想让程序先计算出第一个if语句(天赋),然后去下一个if语句(距离),然后继续计算。 echo 将显示百分比的整体计算。请帮忙。提前致谢

    $counter = 0;
    $status = array();

    foreach($candidate as $c){  
        $queryResult = mysql_query("SELECT * FROM candidates WHERE id = '$c'"); 
        $row = mysql_fetch_assoc($queryResult);

        if($talent == "good"){
            $status[$counter] = + 0.10;

        }else if($talent == "better"){
            $status[$counter] = + 0.05;
        }

        if($distance == "1200m"){
            $status[$counter] = + 0.10;
        }else if($distance == "1400m"){
            $status[$counter] = + 0.05;
        }
        echo $status[$counter] * 100 . "%<br>";
        $counter ++;

    }//foreach end

【问题讨论】:

  • 旁注: 停止使用已弃用的 mysql_* 函数。请改用MySQLiPDO。这是一个很好的 PDO tutorial
  • 您的表中有tallentdistance 列吗?如果是这样,您必须从$row 获取它们。
  • "转到下一个 if 语句后转到第一个 if 语句" 我对此感到困惑。
  • 谢谢。但我仅将其用于示例。我正在使用 mysqli。
  • += 更改那些=+ 怎么样,也许这就是你想要的......? (例如,$status[$counter] += 0.10;

标签: php arrays if-statement foreach


【解决方案1】:

+= 更改那些=+ 怎么样,也许这就是你想要的......? (例如,$status[$counter] += 0.10;

并尝试在 foreach 循环之前初始化它..

$array = array_fill(0,$number_of_candidates, 0);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-15
    • 2014-03-03
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 2016-12-24
    • 1970-01-01
    • 2016-09-26
    相关资源
    最近更新 更多