在数组值的条件测试为真后,有什么方法可以终止循环吗?

Is there any way to terminate the loop after condition of an array value tested true?

我正在尝试从我的表单提交一个数组数据,但在提交之前我希望将该数组值与我从数据库中获得的值进行比较。如果数组中的值之一大于我在数据库循环中的值,则应终止并打印输出,否则应提交表单。

但问题是 if 和 else 都被测试并且都被执行了。

我的表单输入 user Form

我的PHP代码

if(isset($_POST['btn_action'])){

    $material_id = $_POST['material_added_id'];
    $material_issued = $_POST['material_isseud_weight']; //userInput--Array
    $unit_type = $_POST['unit_type'];
    $product_id = $_POST['product_id'];
    $ricip_name = $_POST['ric'];
    $count = 0;
    

    for($count; $count < count($material_id); $count++) {

        //fetching data from DB
        $qry = "SELECT * FROM material_added_tb WHERE material_added_id = $material_id[$count]";
        $statement = $conn->prepare($qry);
        $statement->execute();
        $result = $statement->fetchAll(PDO::FETCH_ASSOC);

        foreach($result as $value) {
            $material_weight = $value['material_weight'];
            $material_name = $value['material_added_name'];
        }

        //compare the userArray data with the data from DB
        if($material_issued[$count] > $material_weight) {
            
            ?>
                <script>
                alert('<?php echo $material_name . " is Out of Stock " ?>');
                // window.location.href="../manufacture.php";
                </script>
            <?php 
          
        } else {
            
            echo "submit the form";
        }
        
    }
}

    

如果你想在提交表单之前检查值,你必须在 javascript 中进行(+ 也许 Ajax,如果你想在按钮按下的那一刻准确地检查它们单击)。

我假设您附加的 php 代码恰好对应于验证值的 Ajax 请求,但在这种情况下,您应该发送 json回复浏览器而不是警报。