我有以下2个数组:
Array 1
(
[0] => Speed
[1] => Grade
[2] => Speed
[3] => Grade
[4] => Speed
[5] => Grade
[6] => Grade
[7] => Speed
[8] => Size
)
Array 2
(
[0] => 5200 rpm
[1] => Red
[2] => 7200 rpm
[3] => Blue
[4] => 8900 rpm
[5] => Green
[6] => Purple
[7] => 10000 rpm
[8] => Big
)
这些值彼此匹配。例如:速度-5200 rpm ,坡度-红色等。
我需要像下面这样:
$collection = array(
"Speed" => array (
5200 rpm,
7200 rpm,
8900 rpm,
10000 rpm
),
"Grade" => array (
Red,
Blue,
Green,
Purple
),
"Size" => array (
Big
)
);
它需要为每个标签创建一个数组,并将必要的值存储到该数组中。我已经尝试过合并,合并和循环。我在某个地方出错。
有人可以帮我吗?
答案 0 :(得分:1)
尝试此代码
$array_1 = array('Speed','Grade','Speed','Grade','Speed','Grade','Grade','Speed','Size');
$array_2 = array('5200 rpm','Red','7200 rpm','Blue','8900 rpm','Green','Purple','10000 rpm','Big');
foreach($array_1 as $key=>$elm){
$finalArray[$elm][] = $array_2[$key];
}
echo("<pre>");
print_r($finalArray);
echo("</pre>");
使用foreach,您可以使用标签创建多维的新数组!很简单。 希望我能为您提供帮助,如有任何疑问,请发表评论
答案 1 :(得分:0)
将数组1保存为$description
,将数组2保存为$value
。
您需要使用以下方法获取两个数组的数组值:
$description = array_values($description);
然后您可以使用array_combine。
$combined = array_combine($description, $value);
相关(用于数组值)Convert an associative array to a simple array of its values in php
array_combine
here的PHP文档。
答案 2 :(得分:-1)
编辑
我再次阅读了问题,发现数组1和数组2的索引相同
$collection = array();
foreach (array1 as $key => $value){
$collection[$value][] = $array2[$key];
}