[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите, пожалуйста, с массивами
Inglar
Здравствуйте, я новичок в PHP, очень прошу помочь с массивами.
Есть 2 массива Array 1 и Array 2 : в обоих массивах [Message_ID] идентификаторы, но в одном имя, в другом картинка, мне нужно или создать третий массив Array 3, чтобы в соответствии с [Message_ID] брал имя из первого и нужную картинку из второго или, чтобы картинка в соответствии с [Message_ID] добавлялась в первый массив Array 1
Заранее большое спасибо!


Array 1
(
[0] => Array
(
[Message_ID] => 1234
[Name] => Имя 1
)
[1] => Array
(
[Message_ID] => 1235
[Name] => Имя 2
)
...

и

Array 2
(
[0] => Array
(
[Message_ID] => 1234
[Preview] => /pic/pic1.jpg
)
[1] => Array
(
[Message_ID] => 1235
[Preview] => /pic/pic2.jpg
)
...

Нужен такой третий массив:
 
Array 3
(
[0] => Array
(
[Message_ID] => 1234
[Name] => Имя 1
[Preview] => /pic/pic1.jpg
)
[1] => Array
(
[Message_ID] => 1235
[Name] => Имя 2
[Preview] => /pic/pic2.jpg
)
...
brevis
С такими вопросами ChatGPT неплохо справляется.

<?php
// Пример массивов
$array1 = [
[

"Message_ID" => 1234,
"Name" => "Имя 1"
],
[

"Message_ID" => 1235,
"Name" => "Имя 2"
]
// ... добавьте остальные элементы
];

$array2 = [
[

"Message_ID" => 1234,
"Preview" => "/pic/pic1.jpg"
],
[

"Message_ID" => 1235,
"Preview" => "/pic/pic2.jpg"
]
// ... добавьте остальные элементы
];

// Преобразование второго массива в ассоциативный массив для быстрого поиска
$assocArray2 = [];
foreach ($array2 as $item2) {
$assocArray2[$item2["Message_ID"]] = $item2["Preview"];
}

// Объединение массивов на основе Message_ID
$array3 = [];
foreach ($array1 as $item1) {
if (isset($assocArray2[$item1["Message_ID"]])) {
$mergedItem = $item1;
$mergedItem["Preview"] = $assocArray2[$item1["Message_ID"]];
$array3[] = $mergedItem;
}
}


// Вывод результата
print_r($array3);
?>


P.S. FatCat, если открыть сообщение со ссылкой на редактирование, то почему-то ссылка ломается:
user posted image


_____________
Чатик в телеге
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.