Как объединить дубликаты внутри foreach - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть три разных массива:

$months array looks like that:
Array ( [0] => January [1] => September [2] => September [3] => August [4] => November [5] => December [6] => March ) 

$pnames:
Array ( [0] => Furry Wheels [1] => Hanazuki [2] => Hanazuki [3] => Mighty Magisword [4] => Niko [5] => Niko [6] => Teen Titans Go! ) 

$theme_names
Array ( [0] => ANM INB [1] => ANM INB [2] => TEST NAME [3] => ANM INB [4] => ANM INB [5] => TEST NAME [6] => ANM INB ) 

Я хочу напечатать его вместе в foreach выражении:

foreach ($months as $key => $month) {
  echo '<b>'.$month.'</b><br>'.$pnames[$key].' '.$theme_names[$key].', ';
  echo '<br><br>';
}

Мой результат:

January
Furry Wheels ANM INB, 

September
Hanazuki ANM INB, 

September
Hanazuki TEST NAME, 

August
Mighty Magisword ANM INB, 

November
Niko ANM INB, 

December
Niko TEST NAME, 

March
Teen Titans Go! ANM INB, 

Итак, мой вопрос, как я могу объединить те же месяцы?Я хочу получить это:

January
Furry Wheels ANM INB, 

September
Hanazuki ANM INB, Hanazuki TEST NAME, 

August
Mighty Magisword ANM INB, 

November
Niko ANM INB, 

December
Niko TEST NAME, 

March
Teen Titans Go! ANM INB, 

1 Ответ

0 голосов
/ 25 февраля 2019

Вы можете получить этот результат, используя array_unique на $months, чтобы найти все уникальные названия месяцев, затем используя array_keys с необязательным параметром поиска, чтобы найти всеключи в массиве $months, соответствующие названию месяца, а затем выполните итерацию по этим ключам, отображая значения из $pnames и $theme_names:

foreach (array_unique($months) as $month) {
    echo "<b>$month</b><br>";
    foreach (array_keys($months, $month) as $key) {
        echo "$pnames[$key] $theme_names[$key], ";
    }
    echo "<br><br>";
}

Вывод:

<b>January</b><br>FurryWheels ANMINB, <br><br>
<b>September</b><br>Hanazuki ANMINB, Hanazuki TESTNAME, <br><br>
<b>August</b><br>MightyMagisword ANMINB, <br><br>
<b>November</b><br>Niko ANMINB, <br><br>
<b>December</b><br>Niko TESTNAME, <br><br>
<b>March</b><br>TeenTitansGo! ANMINB, <br><br>

Демонстрация на 3v4l.org

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