Как смерджить элементы массива?

Ссылка скопирована
14 марта 2026 1 ответ

Не очень хорошо знаю php, поэтому заранее извиняюсь, если вопрос неудачный

Цель задачи такая, что на сайте есть товары и для них необходимо вывести "наличия", используется шаблон аспро.
Вывести список наличий необходимо в соответствии склад -> список размеров товара и количество данного товара на складе, вот как то так:

Как смерджить элементы массива?

В чем особенность склады и количество товаров находятся в торговых предложениях, а размеры лежат в properties arResult

Решением было придумано основываясь на arResult[...][PRODUCT_ID] все это собрать и вывести
В общем пройдясь циклом я получил себе два массива $prod_id и $arRazmers.
Сейчас проблема в том как сделать элементы $arRazmers элементами массива $prod_id

Как смерджить элементы массива?

А дальше идеей было сравнивать product_id у двух массивов и в соответсвии с этим присваивать размеры нужному товару

Возможно есть какой-то более простой способ решения данной задачи?
Любым идеям по тому как можно было реализовать или смерджить правильно массивы буду рад)

Дополнительно:

как сделать элементы $arRazmers элементами массива $prod_id

$prod_id = $arRazmers;
Сформулируйте задачу не через жопу - возможно, и решение найдется.

Ответы:

$new_arr = array_combine($prod_id, $arRazmers);

  • да я знаю про этот метод, но в данном случае он не помогает
  • by_steris, опишите подробнее почему не помогает
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Андрей PHP Ответ

Для слияния элементов массива в PHP можно использовать функцию array_merge(). Эта функция принимает несколько массивов в качестве аргументов и возвращает новый массив, содержащий все элементы из исходных массивов.

Пример:

$array1 = array("red", "green");
$array2 = array("blue", "yellow");
 
$mergedArray = array_merge($array1, $array2);
 
print_r($mergedArray);

$array1 = array("red", "green"); $array2 = array("blue", "yellow"); $mergedArray = array_merge($array1, $array2); print_r($mergedArray);

В результате выполнения этого кода будет выведен следующий массив:

Array
(
    [0] => red
    [1] => green
    [2] => blue
    [3] => yellow
)

Array ( [0] => red [1] => green [2] => blue [3] => yellow )

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

Пример:

$array1 = array("a" => "red", "b" => "green");
$array2 = array("a" => "blue", "b" => "yellow");
 
$mergedArray = array_merge_recursive($array1, $array2);
 
print_r($mergedArray);

$array1 = array("a" => "red", "b" => "green"); $array2 = array("a" => "blue", "b" => "yellow"); $mergedArray = array_merge_recursive($array1, $array2); print_r($mergedArray);

Результат выполнения этого кода будет следующим:

Array
(
    [a] => Array
        (
            [0] => red
            [1] => blue
        )
 
    [b] => Array
        (
            [0] => green
            [1] => yellow
        )
 
)

Array ( [a] => Array ( [0] => red [1] => blue ) [b] => Array ( [0] => green [1] => yellow ) )

Таким образом, вы можете легко сливать элементы массивов в PHP с помощью функций array_merge() и array_merge_recursive().

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно