【问题标题】:How to calculate inside a foreach loop using php [closed]如何使用php在foreach循环内计算[关闭]
【发布时间】:2020-12-29 09:14:26
【问题描述】:

我有这段代码,可以从数据库中获取数据并插入到数组中,还可以将其插入到同一数据库中的另一个表中,但我想要的是数据中有一个 价格,如果有可用的一两个数据,并且将它们加在一起时的价格大于特定值,那么做一些事情

<?php

session_start();
require "../db/dbconn.php";

$sql = "SELECT cartPrice FROM cart";
$result = mysqli_query($conn, $sql);

$datas = array();

if(mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        $datas[] = $row;
    }
}

foreach($datas as $data) {
    
    $price = $data['cartPrice'];

    #so how do i do it if $price is greater than maybe 1000 then do this especially when it loops more than one
    
    $stmt = $conn->prepare("INSERT INTO order (price) VALUES (?)");
    $stmt->bind_param("s", $price);
    $stmt->execute();
}

有谁知道我是怎么做到的,如果你不明白我仍然可以给你解释

【问题讨论】:

  • 您好,只需在循环外创建一个变量,并在其中不断添加 $price,然后在循环结束后,您可以检查该变量。这就是你想要的吗?
  • 第一个循环的目的是什么?
  • 你的意思是if($price &gt; 1000) { /* do something */ }
  • 您的问题不清楚。为什么用数组、mysqli 和 foreach 标记它?你在问这些事情中的哪一件?这里到底应该发生什么?
  • @Dharman 是的,这就是我的意思

标签: php arrays mysqli foreach


【解决方案1】:

我从您的问题中了解到的是,您想要计算 $datas 数组中的价格总和并对该价格总和应用一些条件。好吧,您可以简单地创建一个变量并继续在其中添加 $price。然后在循环结束时,应用您的条件。

$totalPrice = 0;

foreach($datas as $data) {

$price = $data['cartPrice'];
$totalPrice = $totalPrice + $price 

$stmt = $conn->prepare("INSERT INTO order (price) VALUES (?)");
$stmt->bind_param("s", $price);
$stmt->execute();
}

if($totalPrice > 1000) {
   # DO SOMETHING
 }

【讨论】:

  • 我在 foreach 循环中做了 if 语句,它对我来说效果更好
猜你喜欢
  • 2013-03-05
  • 2021-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-26
  • 2012-07-19
  • 1970-01-01
  • 2016-03-14
相关资源
最近更新 更多