Как объединить два массива в один, используя ссылку на массив с помощью php? - PullRequest
0 голосов
/ 01 июля 2018

У меня есть два массива, один массив имеет цвет, а другой массив имеет фрукты, здесь я хочу объединить, используя сопоставление эталонных цветов. Как объединить с помощью ссылки на массив?

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


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

];

ожидаемый вывод с использованием массива ссылки

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

Спасибо за все предложения.

Ответы [ 2 ]

0 голосов
/ 01 июля 2018

Если массив $ fruits связан с тем, как я просил в комментариях, вы можете использовать array_column, и вам не придется перебирать каждый элемент массива.

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

https://3v4l.org/b8tas

0 голосов
/ 01 июля 2018

Вы можете построить массив $ output, используя вложенный foreach

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

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...