<MyRusakov.ru />

Программирование на Java с Нуля до Гуру

Программирование на Java с Нуля до Гуру

Данный курс научит Вас программировать на одном из самых прибыльных языков программирования в мире - Java. Курс состоит из 9-ти разделов, в которых с нуля объясняется и показывается процесс написания программ на Java.

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

Просмотрев данный курс и выполнив упражнения из него, Вы сможете создавать программы любой сложности на языке Java.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Объединяем массивы
26.07.2018 07:36:26 Объединяем массивы Сообщение #1
Юстас

Юстас

Новичок

Новичок

Дата регистрации:
20.04.2017 10:43:58

Сообщений: 7

Вот есть два массива:

$arr_1 = [0,23,17,5,8];
$arr_2 = [1,4,7,9,26,43,68];

Теперь мы их объединяем:

$arr = $arr_1 + $arr_2;

И пробуем вывести на экран все элементы нового массива :

foreach ($arr as $value) echo $value.' ,';

Но получается не совсем то что хотелось бы. Выводятся все 5 элементов первого массива + шестой и седьмой элементы второго массива:

0,23,17,5,8, 43, 68

а первые пять элементов второго массива не выводятся.
В чем дело - кто подскажет ?
Профиль Ответить
16.09.2018 18:52:07 Объединяем массивы Сообщение #2
iro4kin

iro4kin

Новичок

Новичок

Дата регистрации:
16.09.2018 18:42:10

Сообщений: 5

Это у вас из задания, я так понимаю.
Все дело в том, что при таком объединение массивов в конечный массив добавляются элементы с уникальными ключами. Если ключи совпадают, то значения берутся из массива, который вы указали первым в формуле.

Вот смотрите: даже если сами ключи вы не видите, они есть


У $arr1 ключи идут такие 0, 1, 2, 3, 4, 5
У $arr2 ключи идут такие 0, 1, 2, 3, 4, 5, 6, 7

Т.е. от нуля до 5 в двух этих массивах содержатся элементы со схожими ключами. Поэтому в массив $arr у вас берутся первые 5 элементов из первого массива $arr1, а из второго массива $arr2 туда добавляться 2 последних элемента.


В общем, я решила это задание через встроенную функцию: array_merge(). Она добавляет в конец элементов первого массива элементы второго массива. Т.е. именно объединяет.

$arr1 = [12, 13, 18, 29, 34];
$arr2 = [15, 27, 14, 32, 46, 51, 62];

$arr = array_merge($arr1, $arr2);

for ($i = 0; $i < count($arr); $i++){
if ($arr[$i] % 2 == 0) echo $arr[$i].'<br />';
}
Профиль Ответить
19.09.2018 05:14:53 Объединяем массивы Сообщение #3
Юстас

Юстас

Новичок

Новичок

Дата регистрации:
20.04.2017 10:43:58

Сообщений: 7

Да, это из заданий.
На днях проверю, как это будет работать.
Спасибо за подсказку !
Профиль Ответить
08.10.2018 11:25:09 Объединяем массивы Сообщение #4
gogi

gogi

Эксперт

Эксперт

Дата регистрации:
05.09.2018 10:59:59

Сообщений: 121

я понял
Профиль Ответить