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

如何使用PHP按月字段排序并从现有数组生成新的数组对象

实现方法

你可以通过以下两种常用方案实现按month字段升序排序:

方案1:使用usort()(推荐)

PHP 7.0及以上版本可直接用太空船运算符编写比较逻辑:

// 若需要保留原数组,先拷贝再排序
$newsource = $source;
usort($newsource, function ($a, $b) {
    return $a['month'] <=> $b['month'];
});

如果运行环境是PHP 7以下版本,将比较逻辑替换为减法即可:

$newsource = $source;
usort($newsource, function ($a, $b) {
    return $a['month'] - $b['month'];
});

方案2:使用array_multisort()

先提取所有month字段值作为排序依据,再联动排序原数组:

$months = array_column($source, 'month');
array_multisort($months, SORT_ASC, $source);
// 如需保留原数组,提前拷贝$source到$newsource再操作即可

两种方案最终得到的排序结果都和你给出的预期输出完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 11:24:04