如何使用 php [closed] 在 foreach 循环内计算

How to calculate inside a foreach loop using php [closed]

提问人:Bright Share 提问时间:9/11/2020 更新时间:9/11/2020 访问量:330

问:


想改进这个问题吗?通过编辑这篇文章添加详细信息并澄清问题。

3年前关闭。

我有这个代码,能够从数据库中获取数据并插入到数组中,也可以将其插入到同一数据库中的另一个表中,但我想要的是数据中有一个价格,如果有可用的数据,要么是一个或两个,并且价格相加时的价格大于特定值,然后做一些事情

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

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

PHP 数组 mysqli foreach

评论

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

答:

0赞 Bilal Aslam 9/11/2020 #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
 }

评论

1赞 Bright Share 9/11/2020
我在foreach循环中做了if语句,它对我来说效果更好