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

PHP如何将数组中的子数组按创建顺序倒序排列

实现方案

方案1:直接反转数组(适配你当前场景,效率最高)

你当前拿到的$datacomments已经是按子数组创建时间正序排列的,直接调用PHP内置的array_reverse()函数即可完成倒序:

$datacomments = get_post_meta($product_id, 'propina5', false);
// 第二个参数传true可保留原数组的数字键名,无需求可省略
$reversed_comments = array_reverse($datacomments);
// 打印验证结果
print_r($reversed_comments);

处理后输出的数组首位就是原数组下标为3的最新创建的子数组,完全符合最新内容优先展示的需求。

方案2:按子数组日期字段排序(通用场景,适配性更强)

如果后续你拿到的数组默认顺序不是严格按创建时间排列,可以基于子数组内的date字段自定义排序规则,不受原数组顺序影响:

$datacomments = get_post_meta($product_id, 'propina5', false);
usort($datacomments, function($prev, $next) {
    // 把日期字符串转为时间戳进行比较,倒序用后创建的时间减先创建的时间
    $prev_time = DateTime::createFromFormat('d-m-Y H:i', $prev['date'])->getTimestamp();
    $next_time = DateTime::createFromFormat('d-m-Y H:i', $next['date'])->getTimestamp();
    return $next_time - $prev_time;
});
// 打印验证结果
print_r($datacomments);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 02:15:02