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

PHP如何将普通数组转换为以object_type为键的多维数组

PHP数组按object_type字段分组实现方案

基础遍历实现(最适合初学者理解)

直接遍历原数组,按object_type字段值分组即可,代码如下:

// $origin 为你的原数组变量
$result = [];
foreach ($origin as $item) {
    $result[$item['object_type']][] = $item;
}

转换后结构

执行上述代码后,$result就是你需要的多维数组,结构如下:

Array
(
    [1] => Array
        (
            [0] => Array
                (
                    [initiator_id] => 259
                    [object_type] => 1
                    [object_id] => 905
                    [date] => 2021-11-16 06:24:16
                )
            [1] => Array
                (
                    [initiator_id] => 259
                    [object_type] => 1
                    [object_id] => 905
                    [date] => 2021-11-16 04:54:54
                )
            [2] => Array
                (
                    [initiator_id] => 259
                    [object_type] => 1
                    [object_id] => 905
                    [date] => 2021-11-16 04:53:58
                )
        )
    [2] => Array
        (
            [0] => Array
                (
                    [initiator_id] => 219
                    [object_type] => 2
                    [object_id] => 915
                    [date] => 2021-11-16 04:53:58
                )
        )
)

逻辑说明

PHP支持动态创建数组键,不需要提前判断$result中是否存在对应object_type的键,遍历过程中如果对应键不存在会自动初始化空数组,再把当前项追加到数组末尾。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 08:15:07