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

PHP如何给数组分配键并将用户名与邮箱按对应关系分组为新数组

实现方案

你的原始数组前半段为按顺序的用户名,后半段为对应顺序的邮箱,直接按索引匹配拼接即可,代码如下:

// 原始数组
$originArr = [
    'alexg',
    'benny',
    'shahar',
    'alexag@website.com',
    'ben_r@website.com',
    'shah_iar@website.com'
];

$res = [];
// 计算数组半长作为邮箱的索引偏移量
$offset = count($originArr) / 2;

for ($i = 0; $i < $offset; $i++) {
    $res[] = [
        'USERLOGIN' => $originArr[$i],
        'EMAIL' => $originArr[$i + $offset]
    ];
}

// 输出验证
var_dump($res);

如果你已经生成了每个元素仅含单个键的中间数组,可以用下面的方式转换得到目标结构:

// 你当前的中间数组
$middleArr = [
    ['USERLOGIN' => 'benny'],
    ['USERLOGIN' => 'alexg'],
    ['USERLOGIN' => 'shahar'],
    ['EMAIL' => 'bennyr@website.com'],
    ['EMAIL' => 'alexg@website.com'],
    ['EMAIL' => 'shahar@website.com'],
];

$res = [];
$offset = count($middleArr) / 2;
for ($i = 0; $i < $offset; $i++) {
    $res[] = array_merge($middleArr[$i], $middleArr[$i + $offset]);
}

注意:需要保证原始数组/中间数组的前半段用户名顺序和后半段邮箱顺序一一对应,否则会出现匹配错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 01:54:04