Php 如何将一个数组的逗号分隔键合并到另一个数组的值并生成一个新数组
我有两个数组Php 如何将一个数组的逗号分隔键合并到另一个数组的值并生成一个新数组,php,arrays,Php,Arrays,我有两个数组 Array-1 ( [0] => title,size [1] => color [2] => length ) Array-2 ( [size_1] => 100 [color_1] => 200 [material_1] => 480 ) 我试图从上面的数组在php中实现下面的数组 Array (
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
)
尝试
array\u combine
创建一个新数组,其中键将从array1获取,值将从array2获取,然后使用foreach
将它们一起迭代,并生成如下所示的所需结果:
<?php
$a = array('title,size', 'color', 'length');
$b = array('size_1' => 100, 'color_1' => 200, 'material_1' => 480);
$c = array_combine($a, $b);
$result = array();
foreach($c as $key => $val) {
if(strpos($key, ',')) {
$temp = explode(',', $key);
foreach($temp as $keys){
$result[$keys] = $val;
}
} else {
$result[$key] = $val;
}
}
echo '<pre>';
print_r($a);
print_r($b);
print_r($c);
print_r($result);
/*
------------------
Output
------------------
$a = Array
(
[0] => title,size
[1] => color
[2] => length
)
$b = Array
(
[size_1] => 100
[color_1] => 200
[material_1] => 480
)
$c = Array
(
[title,size] => 100
[color] => 200
[length] => 480
)
$result = Array
(
[title] => 100
[size] => 100
[color] => 200
[length] => 480
)
*/
?>
一种稍微简单的方法是循环并分解第一个数组的所有值,然后使用数组填充创建值数组
Hi@Savy,我们在数组中没有看到任何大小值two@KrishnaJonnalagadda,我必须合并第一个数组的键和第二个数组的值。请检查我是否提供了输出样品
$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);