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

PHP多数组合并:将工单数据关联至对应账户数组

PHP实现工单与账户数据关联归集

需要遍历$deskTickets工单数组与$accountArray账户数组,生成名为finalArray的新数组,将每个工单数据归入对应账户的Helpdesk_Tickets字段中,一个账户可对应多个工单。

原始输入代码

$deskTickets = array(
    array(
        "accountName"=> "Dame 1",
        "ticketNumber"=> "9782",   
        "status"=> "Open",
        "createdTime"=> "2022-08-30T00:39:16.000Z"
),
    array(
        "accountName"=> "Dame 1",
        "ticketNumber"=> "6723",   
        "status"=> "Open",
        "createdTime"=> "2022-08-30T00:39:16.000Z"
),
    array(
        "accountName"=> "Dame 2",
        "ticketNumber"=> "4567",   
        "status"=> "Open",
        "createdTime"=> "2022-08-30T00:39:16.000Z"
));


$accountArray=array(
                    "Dame 1"=> array(        
                        "Account_Name"=> "Dame 1",
                        "Store_Status"=> "Open",
                        "Helpdesk_Tickets"=>"No Tickets"
                    ),
                    "Dame 2"=> array(        
                        "Account_Name"=> "Dame 2",
                        "Store_Status"=> "Open",
                        "Helpdesk_Tickets"=>"No Tickets"
                    ));

解决方案代码

// 初始化finalArray为账户数组的副本
$finalArray = $accountArray;

// 遍历所有工单
foreach ($deskTickets as $ticket) {
    $accountName = $ticket['accountName'];
    // 检查账户是否存在于finalArray中
    if (isset($finalArray[$accountName])) {
        // 如果Helpdesk_Tickets还是初始的"No Tickets",先转为空数组
        if ($finalArray[$accountName]['Helpdesk_Tickets'] === "No Tickets") {
            $finalArray[$accountName]['Helpdesk_Tickets'] = [];
        }
        // 将当前工单添加到对应账户的工单数组中
        $finalArray[$accountName]['Helpdesk_Tickets'][] = $ticket;
    }
}

// 输出结果(可选)
print_r($finalArray);

逻辑说明

  1. 先复制$accountArray到$finalArray,保留原有账户基础信息
  2. 遍历每个工单,提取对应的账户名称
  3. 检查该账户是否存在于finalArray中,若存在则将Helpdesk_Tickets字段从初始字符串转为数组(未初始化时)
  4. 将当前工单追加到对应账户的工单数组内

期望输出结果

Array
(
    [Dame 1] => Array
        (
            [Account_Name] => Dame 1
            [Store_Status] => Open
            [Helpdesk_Tickets] => Array
                (
                    [0] => Array
                        (
                            [accountName] => Dame 1
                            [ticketNumber] => 9782
                            [status] => Open
                            [createdTime] => 2022-08-30T00:39:16.000Z
                        )

                    [1] => Array
                        (
                            [accountName] => Dame 1
                            [ticketNumber] => 6723
                            [status] => Open
                            [createdTime] => 2022-08-30T00:39:16.000Z
                        )

                )

        )

    [Dame 2] => Array
        (
            [Account_Name] => Dame 2
            [Store_Status] => Open
            [Helpdesk_Tickets] => Array
                (
                    [0] => Array
                        (
                            [accountName] => Dame 2
                            [ticketNumber] => 4567
                            [status] => Open
                            [createdTime] => 2022-08-30T00:39:16.000Z
                        )

                )

        )

)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 15:10:23