【发布时间】:2013-06-27 14:58:10
【问题描述】:
我有一个数组 year_values 包含一些值,例如
$year_values = array();
foreach($year_strings as $str) {
$year_values[] = explode(",", $str);
}
然后我应用查询从数据库中提取一些值
$sql = "SELECT inventory.holdingcost as holdingcost,
inventory.ordercost as ordercost, inventory.unitprice as unitprice,
inventory.lead_time as lead_time, items.id as iid
FROM inventory, items
WHERE inventory.item_name = items.item_name";
mysql_error();
$result = mysql_query($sql);
foreach($year_values as $vals) {
while ($row = mysql_fetch_row($result)) {
$w = $row[2];
$e = $row[0];
$r = $row[1];
$tt = $row[3];
$eo = sqrt(2 * $vals[5] * $r / ($e * $w));
$eoq = round($eo, 1);
$ro = $vals[5] / 360;
$rop = round($ro * $tt);
$op = round($vals[5] / $eoq, 1);
$cc = round(89 / $op);
$h = round((($eoq * $e * $w) / 2), 2);
$o = round((($r * $vals[5]) / $eoq), 2);
$z = round($h + $o, 2);
}
}
当我在上面的 while 循环中使用 foreach 时,它只将 $year_values 的第一个值作为 $vals[5],我想在 while 内部对数组 $year_values 的每个值进行计算。
如何纠正?
重复发生在 value1 中,即 $val[5] 当前:
Value1 Value 2 Value 3
199 202 0.25
199 205 0.25
199 210 0.25
199 230 0.25
1698 202 0.25
1698 205 0.25
1698 210 0.25
1698 230 0.25
相反,我希望值显示为
Value1 Value 2 Value 3
199 202 0.25
1698 205 0.25
15 210 0.25
971 230 0.25
【问题讨论】:
-
您需要详细说明您要达到的目标。这段代码的意义何在?它根本不使用该计算的结果。
-
数组 year_values 包含如下值: Array ( [0] => 2013 [1] => 1 [2] => 205 [3] => [4] => 266 [5] = > 199 ) 数组 ( [0] => 2013 [1] => 1 [2] => 1748 [3] => [4] => 299 [5] => 1698 ) 数组 ( [0] => 2013 [ 1] => 1 [2] => 15 [3] => [4] => 170 [5] => 15) 数组 ( [0] => 2013 [1] => 1 [2] => 1000 [ 3] => [4] => 31 [5] => 971) 数组 ([0] => 2013 [1] => 1 [2] => 975 [3] => [4] => 117 [5 ] => 947 ) 我想使用所有第 5 个索引值进行公式计算,例如:$eo = sqrt(2 *$vals[5]*$r /($e*$w));最后显示结果
标签: php