Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
9 / 9 / 2
Регистрация: 29.05.2011
Сообщений: 533
1

Объединить ключи массива в один массив

06.06.2019, 13:36. Показов 775. Ответов 4
Метки нет (Все метки)

Доброго времени суток!
Существуют массивы (количество массивов неограничено)
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Array
(
    [ID] => 32113
    [PROPERTY_COLOR_NEW_VALUE] => Розовый
)
Array
(
    [ID] => 32114
    [PROPERTY_COLOR_NEW_VALUE] => Белый
)
Array
(
    [ID] => 32115
    [PROPERTY_COLOR_NEW_VALUE] => Белый
)
Array
(
    [ID] => 32116
    [PROPERTY_COLOR_NEW_VALUE] => Фиолетовый
)
Array
(
    [ID] => 32117
    [PROPERTY_COLOR_NEW_VALUE] => Зеленый
)
Необходимо все значения PROPERTY_COLOR_NEW_VALUE объединить в один массив. Т.е. так
PHP
1
2
3
4
5
6
7
Array
(
    [0] => Розовый
    [1] => Белый
    [2] => Фиолетовый
    [3] => Зеленый
)
В данном массиве не должны повторяться значения.
Подскажите, пожалуйста, как реализовать. Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.06.2019, 13:36
Ответы с готовыми решениями:

Объединить два массива в один, включив второй массив между 4 и 5 элементами первого массива
Заданы два одномерных массива с числом элементов 6 и 7. Объединить их в один массив,включив второй...

Объединить два массива в один, записав второй массив после 2-го элемента первого массива.
А вот ещё. Я вообще не имею представления, как её решить: Заданы два одномерных массива различных...

Объединить два массива в один, включив второй массив между k-ым и (k+1)-ым элементами первого массива
Может кто решить ? вовсе не могу понять ... Дано два одномерных масива различной размерности....

Заданы два одномерных массива.Объединить их в один массив, включив второй массив между K и (K+1) элементами первого
Последняя на сегодня... Заданы два одномерных массива: массив А размера M и массив В размера N....

__________________

Записывайтесь на профессиональные курсы Fullstack-разработчиков на PHP‌
4
1639 / 1305 / 639
Регистрация: 10.01.2015
Сообщений: 4,283
06.06.2019, 13:48 2
PHP
1
2
$arr_new = array_column($arr, 'PROPERTY_COLOR_NEW_VALUE');
print_r(array_unique($arr_new));
0
9 / 9 / 2
Регистрация: 29.05.2011
Сообщений: 533
06.06.2019, 13:59  [ТС] 3
Пифагор, спасибо что откликнулись.
В таком случае $arr_new пустой
Распечатка $arOffer
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Array
(
    [ID] => 32113
    [PROPERTY_COLOR_NEW_VALUE] => Розовый
)
Array
(
    [ID] => 32114
    [PROPERTY_COLOR_NEW_VALUE] => Белый
)
Array
(
    [ID] => 32115
    [PROPERTY_COLOR_NEW_VALUE] => Белый
)
Array
(
    [ID] => 32116
    [PROPERTY_COLOR_NEW_VALUE] => Фиолетовый
)
Array
(
    [ID] => 32117
    [PROPERTY_COLOR_NEW_VALUE] => Зеленый
)
Если сделать так
PHP
1
$arr_new = array_column($arOffer, 'PROPERTY_COLOR_NEW_VALUE');
, то
PHP
1
echo "<pre>" .print_r($arr_new,1)."</pre>";
пустой.
Причем в каждом элементе (где есть цвета) распечатывается такое количество пустых массивов равное количеству цветов.
Пример:
1) в элементе1 есть 2 цвета - распечатывается 2 пустых массива
3) в элемент2 есть 9 цветов - распечатывается 9 пустых массивов
0
1639 / 1305 / 639
Регистрация: 10.01.2015
Сообщений: 4,283
06.06.2019, 14:05 4
Цитата Сообщение от _marisha Посмотреть сообщение
В таком случае $arr_new пустой
Да ну???
PHP
1
2
3
4
5
6
7
8
9
10
11
$arr = [
 
['ID' => 32113,
    'PROPERTY_COLOR_NEW_VALUE' => 'Розовый'],
    
    ['ID' => 32567,
    'PROPERTY_COLOR_NEW_VALUE' => 'Белый'],
    
];
 
print_r(array_column($arr, 'PROPERTY_COLOR_NEW_VALUE'));
Код
Array ( [0] => Розовый [1] => Белый )
Добавлено через 1 минуту
http://sandbox.onlinephpfuncti... 9e5264063e
0
9 / 9 / 2
Регистрация: 29.05.2011
Сообщений: 533
07.06.2019, 05:16  [ТС] 5
Пифагор, правда пустой
Так выглядит $arOffer
PHP
1
echo "<pre>" .print_r($arOffer,1)."</pre>";
(скрин "$arOffer")
Если сделать так
PHP
1
print_r(array_column($arOffer, 'PROPERTY_COLOR_NEW_VALUE'));
то пусто (скрин "Пусто")
Скорее всего делаю что-то не так...
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 <!--Торговые предложения товара-->
                                    <?
                                    $IBLOCK_ID = 5;
                                    $arInfo = CCatalogSKU::GetInfoByProductIBlock($IBLOCK_ID);
                                    if (is_array($arInfo))
                                    {
                                        $arSelect = Array("ID", "IBLOCK_ID", "NAME", "PROPERTY_COLOR_NEW");
                                        $arFilter = Array("IBLOCK_ID"=>$arInfo['IBLOCK_ID'], "ACTIVE"=>"Y", 'PROPERTY_'.$arInfo['SKU_PROPERTY_ID'] => $arItem['ID']);
                                        //$rsOffers = CIBlockElement::GetList(array(),array('IBLOCK_ID' => $arInfo['IBLOCK_ID'], 'PROPERTY_'.$arInfo['SKU_PROPERTY_ID'] => $arItem['ID']));
                                        $rsOffers = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>50), $arSelect);
                                        while ($arOffer = $rsOffers->fetch())
                                        {
                                            print_r(array_column($arOffer, 'PROPERTY_COLOR_NEW_VALUE'));
                                            //echo "<pre>" .print_r($arOffer,1)."</pre>";
                                        }
                                    }
                                    ?>
                                    <!--Торговые предложения товара-->
0
Миниатюры
Объединить ключи массива в один массив   Объединить ключи массива в один массив  
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.06.2019, 05:16

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Объединить два массива A и B в один массив C следующим образом
Объединить два массива A( A1, A2,....An) и B(B1,B2,....Bn) в один массив C следующим образом:...

Объединить три 2-мерных массива в один 3-мерный массив
Первый двухмерный задан рандомно. Второй и третий двухмерные заданы как результаты вычислений от...

Объединить три массива в один общий двумерный массив
Даны три массива.Требуется объединить три массива в один общий двумерный массив Х,расположив в нем...

Заданы два одномерных массива действительных чисел различных размеров. Объединить их в один массив, включив второй массив между k-м и (k+1)-м элемента
Заданы два одномерных массива действительных чисел различных размеров. Объединить их в один массив,...

Объединить два упорядоченных целочисленных массива в один упорядоченный массив
Даны два упорядоченных массива целых чисел М1 и М2. Объединить их в один упоря-доченный массив....

Как объединить два одномерных массива в один двумерный массив?
можно ли как нибудь объединить два массива в один ДВУМЕРНЫЙ МАССИВ? Заранее спсибо void...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.