首页 > 解决方案 > 如何使用php在foreach循环内计算

问题描述

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

<?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();
}

有谁知道我怎么能做到这一点,如果你不明白我仍然可以向你解释

标签: phparraysmysqliforeach

解决方案


我从您的问题中了解到的是,您想要计算 $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
 }

推荐阅读