如何使用 php 在 foreach 循环内进行计算
How to calculate inside a foreach loop using php
我有这段代码,可以从数据库中获取数据并插入到数组中,还可以将其插入到同一数据库中的另一个 table 中,但我想要的是在data 有一个 price 如果有一个或两个可用的数据并且将它们加在一起时的价格大于特定值然后做一些事情
<?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();
}
有人知道我该怎么做吗,如果你不明白我仍然可以向你解释
我从你的问题中了解到,你想计算 $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
}
我有这段代码,可以从数据库中获取数据并插入到数组中,还可以将其插入到同一数据库中的另一个 table 中,但我想要的是在data 有一个 price 如果有一个或两个可用的数据并且将它们加在一起时的价格大于特定值然后做一些事情
<?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();
}
有人知道我该怎么做吗,如果你不明白我仍然可以向你解释
我从你的问题中了解到,你想计算 $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
}