【问题标题】:How to output correct result for multiple query如何为多个查询输出正确的结果
【发布时间】:2017-11-05 09:07:23
【问题描述】:

在查询中,我有多个价格和 p 输出

例如

 $price = 100;
 $p = 7;
 $price = 50;
 $p = 3;
 $price = 200;
 $p = 2;
 $price = 10;
 $p = 10;
 $price += $price * $p;
 echo $price;

如何根据每个$p计算每个$price?

【问题讨论】:

  • 您的价值观并未像您所写的那样出现。它们将在一个数组中。你能给出你查询的实际输出的 var_dump() 或 print_r() 吗?
  • 聆听 Tim 的声音,然后编辑您的问题。然后您将收到最高质量的答案。事实上,这可能最好通过 sql 解决。向我们展示您的餐桌信息和查询。
  • 或许你可以从中得到一些启发:stackoverflow.com/q/29437462/2943403

标签: php output


【解决方案1】:

试试这个:

 $total = '';

 $price = 100;
 $p = 7;
 $total += $price*$p; // $total = 700
 $price = 50;
 $p = 3;
 $total += $price*$p; // $total = 850
 $price = 200;
 $p = 2;
 $total += $price*$p; // $total = 1250
 $price = 10;
 $p = 10;
 $total += $price*$p; // $total = 1350
 echo $total;

【讨论】:

  • 能否请您补充一些解释?
  • 每次 $total 乘以 ($price*$p) 并添加到 $total。所以在第一步 $total = 700 然后下一步 $total = ($price*$p) = 150 和 $total = 150 +700 = 850 等等。
【解决方案2】:

可选,如果您将值存储在数组中

function countTotal($price, $p) {
    return $price * $p; 
}

$price = [100, 200, 300];
$p = [1, 1.5, 2];

$totalArray = array_map('countTotal', $price, $p);
echo array_sum($totalArray);

【讨论】:

  • OP 可能正在迭代结果集,因此不建议使用单独的迭代函数。
【解决方案3】:

感谢大家对这个修复我的错误示​​例的影响

 $price = "100";
 $p = "2";
 $price = "200";
 $p = "2";
 $price = "50";
 $p = "4";
 $price = "400";
 $p = "2";
 $price = $price * $p;
 $price = $price + $price;
 echo "$price";

【讨论】:

  • 我们很高兴听到您的问题已解决。现在,请想想 SO 和其他人。请添加我要求的信息,以便我们可以为您的任务展示利用 sql 的优势的专业级/最佳实践解决方案。我们不仅会教你,还会教你无数未来的读者。
  • 如果那是你的实际代码,那么这将永远无法工作......你得到 400 * 2 = 800 然后将 800 添加到自身得到 1600。这恰好与你的值相对应... 再说一遍,如果那是你的代码,那就大错特错了。
猜你喜欢
  • 2020-12-03
  • 2018-08-19
  • 2018-02-10
  • 2020-04-19
  • 2017-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多