Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 15.12.2014
Сообщений: 19

Поочередное слияние двух массивов

04.02.2019, 22:52. Показов 1243. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, имеются два массива:
PHP
1
2
$arr1 = ['катя'=>20, 'маша'=>22, 'юля'=>19];
$arr2 = ['антон'=>25, 'витя'=>20, 'олег'=>28, 'илларион'=>40, 'иннокентий'=>35];
Нужно получить третий:
Code
1
['катя'=>20, 'антон'=>25, 'маша'=>22, 'витя'=>20, 'юля'=>19, 'олег'=>28, 'илларион'=>40, 'иннокентий'=>35];
Добавлено через 9 минут
PS. Массивы могут быть и такими:

PHP
1
2
$arr1 = ['катя'=>20, 'маша'=>22, 'юля'=>19, 'вика'=>26, 'ира'=>24];
$arr2 = ['антон'=>25, 'витя'=>20, 'олег'=>28];
Тогда:
Code
1
['катя'=>20, 'антон'=>25, 'маша'=>22, 'витя'=>20, 'юля'=>19, 'олег'=>26, 'вика'=>40, 'ира'=>24];
Решил
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
$arr1 = ['катя'=>20, 'маша'=>22, 'юля'=>19, 'вика'=>26, 'ира'=>24];
$arr2 = ['антон'=>25, 'витя'=>20, 'олег'=>28];
 
$max = max(count($arr1), count($arr2));
 
$new_arr = [];
 
for($i=0; $i<=$max; $i++){
    if(isset($arr1[$i])) $new_arr[] = $arr1[$i];
    if(isset($arr2[$i])) $new_arr[] = $arr2[$i];
}
 
print_r($new_arr);
Добавлено через 6 минут
Сорри, неправильно поставил задачу, массивы такие:
PHP
1
2
$arr1 = ['катя', 'маша', 'юля', 'вика', 'ира'];
$arr2 = ['антон', 'витя', 'олег'];
Спасибо! Тему можно закрыть.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.02.2019, 22:52
Ответы с готовыми решениями:

Слияние двух массивов
Добрый день! никак не могу придумать, как объединить ассоциативный и индексный массив в двумерный массив. допустим у меня есть два...

Слияние двух массивов
Доброго времени суток! Нужно сделать слияние двух массивов, есть функция array_merge - которая к указанному массиву сливает второй массив...

слияние массивов
сливаю 2 массива: $array_1 = array(&quot;0&quot; =&gt; &quot;0&quot;, &quot;2&quot; =&gt; &quot;0&quot;, &quot;4&quot; =&gt; &quot;0&quot;); $array_2 = array(&quot;1&quot; =&gt; &quot;1&quot;, &quot;3&quot; =&gt; &quot;1&quot;, &quot;5&quot; =&gt; &quot;1&quot;); ...

5
Заблокирован
04.02.2019, 22:53
alexz15, Ну ёлки, я даж прочитать не успел. Как дела? Как жизнь хоть?
1
 Аватар для Строитель
1084 / 746 / 364
Регистрация: 09.07.2018
Сообщений: 1,760
04.02.2019, 23:13
Цитата Сообщение от alexz15 Посмотреть сообщение
неправильно поставил задачу, массивы такие
А почему не array_merge() ?
PHP
1
2
3
4
5
$arr1 = ['катя', 'маша', 'юля', 'вика', 'ира'];
$arr2 = ['антон', 'витя', 'олег'];
 
$new_arr = array_merge($arr1, $arr2);
var_dump($new_arr);
0
0 / 0 / 0
Регистрация: 15.12.2014
Сообщений: 19
04.02.2019, 23:18  [ТС]
Потому что с array_merge получается:
Code
1
[катя, маша, юля, вика, ира, антон, витя, олег]
а надо:
Code
1
[катя, антон, маша, витя, юля, олег, вика, ира]
0
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
10.02.2019, 03:23
Убого конечно и работает только если не повторяются значения в массиве 1, и если второй массив не больше первого.
PHP
1
2
3
4
5
6
7
(function (){
$_ = array_combine($_ = ['катя', 'маша', 'юля', 'вика', 'ира'],
     array_pad(['антон', 'витя', 'олег'],count($_),''));
     array_walk($_,function($v,$k){
            echo $k.' '.$v.'<br/>'; 
    });
})();
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
10.02.2019, 09:31
PHP
1
$arr = array_filter(array_merge(...array_map(null, $arr1, $arr2)));
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.02.2019, 09:31
Помогаю со студенческими работами здесь

слияние массивов
Привет народ! есть у меня два массива: $all = 'id' =&gt; 55, 'id_cat' =&gt; 330, 'price' =&gt; 3700, 'name' =&gt; Phone, 'description'...

Слияние массивов
Дано (структура массивов): Array ( =&gt; Array ( KEY1 =&gt; string1 KEY2 =&gt; string2 ...

Слияние нескольких массивов
Нужно склеить 3 или больше массива в один, если попадаются одинаковые значения должно остаться только одно, (ключи не играют роли, то...

Слияние массивов без замены данных
Всем здравствуйте, возник такой вопрос, как осуществить слияние двух массивов но если в одном есть ключи такие же, то не заменять их...

Вывод двух файлов и слияние их
есть файл вопросы.txt и ссылки.txt и в каждом из файлов строки 01. 02. ... 40. как сделать чтобы, было вот так:


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru