如何使用php使用数组引用将两个数组合并为一个?

如何使用php使用数组引用将两个数组合并为一个?,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有两个数组,一个数组有颜色,另一个数组有水果,这里我想使用匹配的颜色引用来组合。 如何使用数组引用进行合并 $fruits = ['yellow', 'green', 'orange']; $relatedFurites = [ ['yellow'=>'banana', 'green'=>'avacado'], ['yellow'=>'mango', 'green'=> 'chilli'] ]) 使用数组引用的预期输出 $output = [ 'yello

我有两个数组,一个数组有颜色,另一个数组有水果,这里我想使用匹配的颜色引用来组合。 如何使用数组引用进行合并

$fruits = ['yellow', 'green', 'orange'];


$relatedFurites = [
['yellow'=>'banana', 'green'=>'avacado'],
['yellow'=>'mango', 'green'=> 'chilli']
])

使用数组引用的预期输出

$output = [
    'yellow'=>['banana', 'mango'],
    'green'=>['avacado', 'chilli']];

感谢所有建议。

您可以使用嵌套的foreach构建$output数组

foreach ( $relatedFurites as $keyFruites => $valueFruites) {
  foreach( $valueFruites as $key => $value){
    $output[$key][] = $value;
  }

}

如果$fruits数组如我在评论中所问的那样是相关的,那么您可以使用array_列,而不必迭代数组中的每一项

foreach($fruits as $color){
    $output[$color] = array_column($relatedFurites, $color);
}
var_dump($output);

您是否转储了第二个数组?我相信结果不是你想象的那样。你的第二个数组似乎错了。。不能为同一个keyHi@scaisEdge,@frz3993存储两个不同的值吗?我更新了问题:水果数组是数组中所有颜色的集合还是与相关水果数组无关?为什么我们不能在这里使用数组引用?小心,引用在编程中有不同的含义。