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

Laravel数组按size_piece键从小到大排序求助

解决size_piece按尺寸键从小到大排序的问题

要实现按size_piece的键(尺寸)从小到大排序,你只需要在生成完$cut_order数组后,添加一段遍历排序的代码即可,具体修改如下:

foreach ($cco as $order_item){
    foreach ($order_item->orderPiece as $piece_item){

        $order_piece += $piece_item->piece;

        $cut_order['cutting_piece'][$order_item->collectionColor->color_name]['size_piece'][$piece_item->CollectionColorSizeBarcode->size] = $piece_item->piece;
        $cut_order['cutting_piece'][$order_item->collectionColor->color_name]['total_piece'] += $piece_item->piece;

    }

    $cut_order['order'][$order_item->id] = $order_item;
    $cut_order['order'][$order_item->id]['total_piece'] = $order_piece;

    $order_piece = 0;
}

// 新增:对每个颜色分组下的size_piece按尺寸键升序排序
foreach ($cut_order['cutting_piece'] as &$color_group) {
    ksort($color_group['size_piece']);
}
unset($color_group); // 释放引用,避免后续代码意外修改原数组

return dd($cut_order);

说明:

  • ksort()是PHP内置函数,会直接对数组的键进行升序自然排序,刚好匹配你按尺寸从小到大排列的需求(不管是数字尺寸还是XS/S/M/L这类字符串尺寸,常规顺序都能正确排序)。
  • 使用&$color_group引用是为了直接修改$cut_order数组里的原数据,排序完成后记得用unset($color_group)释放引用,防止后续代码操作时意外修改数组内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 12:50:29