Как объединить более 2 массивов? [Дубликат]

1
foreach ($_GET['first_name'] as $first_name) {
   echo $first_name . '<br>';
}

foreach ($_GET['surname'] as $surname) {
   echo $surname . '<br>';
} 

foreach ($_GET['age'] as $age) {
   echo $age . '<br>';
} 

foreach ($_GET['gender'] as $gender) {
   echo $gender . '<br>';
} 

Вышеприведенный код возвращает:

Все имена

Все фамилии

Все возраста

Все гендерные группы

Я хочу, чтобы это выглядело так:

Имя Фамилия

Возраст

Пол

...

[следующий человек]

Я попытался разрешить это так:

$names = array_combine($_GET['first_name'], $_GET['surname']);
foreach($names as $firstname => $surname) {
    echo $firstname . ' ' . $surname . '<br>';
}

Это устранит мою проблему для имени и фамилии, но я все равно не знаю, как обращаться с другими массивами.

Теги:
arrays

3 ответа

2
Лучший ответ

Попробуйте это для желаемого результата:

foreach ($_GET['first_name'] as $id => $key) {

    echo $_GET['first_name'][$id]." ".$_GET['surname'][$id]." ".$_GET['age'][$id]." ".$_GET['gender'][$id]."<br/>";
}
  • 0
    пожалуйста.
5

Просто запустите цикл с добавочной переменной и используйте это, чтобы указать индекс массивов на каждой итерации.

Как это:

for($i=0;$i<count($_GET['first_name']);$i++) {
    echo $_GET['first_name'][$i] . ' ' . $_GET['surname'][$i] . '<br>';
    //...etc
}
  • 1
    Отличный ответ, но отсутствует) для функции подсчета Upvote
0

Пытаться:

array_merge($array1, $array2)

Найдено по адресу: http://php.net/manual/es/function.array-merge.php

Ещё вопросы

Сообщество Overcoder
Наверх
Меню