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

PHP多维数组重组:将指定数组转换为目标结构的最佳实现方法

PHP数组结构转换最优实现方案

实现代码

适配你现有Laravel请求场景的代码如下,性能最优且可读性高:

// 初始化存储结果的空数组
$transformed = [];

// 遍历原始的商品规格数组
foreach ($request->only('product_variations')['product_variations'] as $item) {
    $currentGroup = $item['group'];
    // 遍历当前组的所有键值对,跳过group字段,组装目标结构
    foreach ($item as $setId => $variationId) {
        if ($setId === 'group') continue;
        $transformed[] = [
            'group' => $currentGroup,
            'es_variation_set_id' => (string)$setId,
            'es_variation_id' => (string)$variationId
        ];
    }
}

// 输出验证结果
dd($transformed);

方案说明

  • 时间复杂度为O(n),n为所有元素的键值对总数,是该场景下性能最优的实现方式,没有多余的函数开销
  • 自动适配每个分组下的动态键数量,无需硬编码键名,扩展性更强
  • 显式强制转换为字符串,匹配你目标数组的字段类型要求

注:你给出的期望数组存在两处笔误:索引1的es_variation_id错误写为28(实际group=1下键6对应的值为27)、索引5的group错误写为1(实际group=2下键8对应的值为200),上述代码生成的结果会自动修正这两处错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:45:04