You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过PHP实现按输入件数配对处理多组包裹尺寸参数并计算

多组包裹尺寸参数配对处理实现方案

前端代码调整

原有输入框中ht和bd的type="number"属性不支持输入英文逗号,需要修改为type="text",可额外增加正则校验限制用户仅输入数字和逗号,调整后的完整表单示例如下:

<form method="post" action="处理文件路径.php">
  <input type="number" name="no_pi" id="no_pi" class="form-control" placeholder="Number of Pieces" min="1" required>
  <input type="text" name="ht" id="ht" placeholder="Height of Package" class="form-control" pattern="(\d+,)*\d+" required>
  <input type="text" name="bd" id="bd" placeholder="Breadth of Package" class="form-control" pattern="(\d+,)*\d+" required>
  <button type="submit">提交</button>
</form>

PHP后端处理逻辑

处理流程如下:

  • 接收提交的三个参数,做基础合法性校验
  • 将高度、宽度字符串按英文逗号分割为数组,清洗每个值的空白字符并转换为数值
  • 校验两个数组的长度是否与件数一致,且所有值均为有效正数
  • 按索引配对每组尺寸参数,逐组执行后续计算
    完整示例代码:
<?php
// 仅处理POST请求
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // 1. 接收参数
    $no_pi = (int)$_POST['no_pi'];
    $ht_str = trim($_POST['ht']);
    $bd_str = trim($_POST['bd']);

    // 2. 基础校验:件数必须是正整数
    if ($no_pi < 1) {
        echo "错误:件数必须为正整数";
        exit;
    }

    // 3. 分割尺寸字符串为数组
    $ht_arr = explode(',', $ht_str);
    $bd_arr = explode(',', $bd_str);

    // 4. 清洗数组:去除空白、转换为浮点数
    $ht_arr = array_map(function($val) {
        return (float)trim($val);
    }, $ht_arr);
    $bd_arr = array_map(function($val) {
        return (float)trim($val);
    }, $bd_arr);

    // 5. 校验数组长度是否匹配件数
    if (count($ht_arr) !== $no_pi || count($bd_arr) !== $no_pi) {
        echo "错误:高度和宽度的数值个数必须和件数一致";
        exit;
    }

    // 6. 校验所有尺寸都是正数
    foreach ($ht_arr as $v) {
        if ($v <= 0) {
            echo "错误:高度数值必须为正数";
            exit;
        }
    }
    foreach ($bd_arr as $v) {
        if ($v <= 0) {
            echo "错误:宽度数值必须为正数";
            exit;
        }
    }

    // 7. 配对逐组处理
    for ($i = 0; $i < $no_pi; $i++) {
        $current_ht = $ht_arr[$i];
        $current_bd = $bd_arr[$i];
        // 此处填写你的后续计算逻辑,示例:
        echo "第".($i+1)."件包裹:高度{$current_ht},宽度{$current_bd}<br>";
    }
}
?>

功能验证示例

用户输入:

  • 件数:3
  • 高度:20,20,30
  • 宽度:10,10,20
    处理后会输出三组配对数据,逐组执行计算逻辑。

内容的提问来源于stack exchange,提问作者Bryan Christy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 07:54:06