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

PHP如何基于二维数组首个键值(订单号)将同值成员分组为批量数组

PHP按二维数组首个元素(订单号)归类数据实现方案

原代码问题说明

  • 仅对比当前订单号与上一条的订单号,同订单号的第一条数据不会被加入结果集
  • 仅支持连续排列的同订单号数据识别,若同订单号数据不连续会出现遗漏
  • 没有初始化存储首个匹配订单数据的逻辑

实现方案

方案1:直接提取指定订单号的所有数据(匹配你给出的预期输出场景)

该方案适合你当前只需要获取特定订单号对应数据的需求:

// 定义要提取的目标订单号
$target_order = '311000000706';
$desired_output = [];

foreach ($input_array as $item) {
    if ($item[0] === $target_order) {
        $desired_output[] = $item;
    }
}

// 打印验证结果
var_dump($desired_output);

运行后得到的$desired_output就是你给出的预期输出结构。

方案2:全量按订单号分组(扩展性更强)

如果后续需要处理多组不同订单号的归类,建议先把所有数据按订单号分组,后续按需取用:

$order_groups = [];
foreach ($input_array as $item) {
    $order_num = $item[0];
    // 以订单号为键,把同订单的所有数据存入同一分组
    $order_groups[$order_num][] = $item;
}

// 要获取指定订单号的数据直接取值即可,无对应订单时返回空数组
$desired_output = $order_groups['311000000706'] ?? [];

// 打印验证结果
var_dump($desired_output);

该方案不受同订单号数据排列顺序影响,即使同订单的数据分散在数组的不同位置也能正确归类。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 21:24:00