首页 > 解决方案 > 如何将数组的逗号分隔键合并到另一个数组的值并创建一个新数组

问题描述

我有两个数组。

Array-1
    (
        [0] => title,size
        [1] => color
        [2] => length
    )

Array-2
    (
        [size_1] => 100
        [color_1] => 200
        [material_1] => 480
    )

我正在尝试从上面的数组中实现 php 中的下面的数组。

Array
    (
        [title] => 100
        [size] => 100
        [color] => 200
        [length] => 480
    )

标签: phparrays

解决方案


一个稍微简单的方法是循环和分解第一个数组的所有值并使用数组填充来创建值数组。

$arr = array('title,size', 'color', 'length');
$b = array('size_1' => 100, 'color_1' => 200, 'material_1' => 480);
$b = array_values($b); // since we don't need the keys, just remove them

$result =[];
foreach($arr as $key => $a){
    $temp = explode(",", $a);
    $result = array_merge($result, array_combine($temp, array_fill(0, count($temp), $b[$key])));
}
var_dump($result);

https://3v4l.org/Q1mmu


推荐阅读