0 / 0 / 0
Регистрация: 06.11.2013
Сообщений: 222
1

Вставить значения из одного массива в другой, если они совпадают по ключам

23.08.2017, 09:31. Показов 1606. Ответов 1

Студворк — интернет-сервис помощи студентам
Доброго времени суток, как вставить значение из одного массива в другой.
вот массивы:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//$array_phrase
Array
(
[112340] => Array
    (
        [0] => Array
            (
                [0] => 112340
                [1] => 4448741
                [2] => Отдых
                [3] => -
            )
 
        [1] => Array
            (
                [0] => 112340
                [1] => 4448743
                [2] => Работа
                [3] => +
            )
 
        [2] => Array
            (
                [0] => 112340
                [1] => 4448742
                [2] => Объявления
                [3] => +
            )
 
        [3] => Array
            (
                [0] => 112340
                [1] => 4448740
                [2] => Лето
                [3] => -
            )
 
        [4] => Array
            (
                [0] => 112340
                [1] => 4448739
                [2] => Погода
                [3] => -
            )
    )
И второй массив:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//$temp
Array
(
    [112340] => Array
        (
            [0] => 70557
            [1] => 70558
            [2] => 70559
        )
 
)
Array
(
    [112367] => Array
        (
            [0] => 70648
            [1] => 70649
            [2] => 70650
        )
 
)
Array
(
    [112372] => Array
        (
            [0] => 70661
            [1] => 70662
            [2] => 70663
        )
 
)
Array
(
    [112419] => Array
        (
            [0] => 70735
        )
 
)
Array
(
    [112477] => Array
        (
            [0] => 70868
            [1] => 70869
            [2] => 70867
            [3] => 70865
            [4] => 70866
        )
 
)
Для примера возьмём элемент массива : 112367
как сделать так чтобы результат был примерно такой:
PHP
1
2
3
4
5
6
7
8
9
10
11
[0] => Array
            (
                [0] => 112340
                [1] => 4448741
                [2] => Отдых
                [3] => -
                [4] => array (
                               [0] => 70557
                               [1] => 70558
                               [2] => 70559)
            )
Только для каждого элемента в первом массиве

Добавлено через 24 минуты
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
        $container_phrase = array();
        foreach($id_temp as $one_id_temp)
        {
 
            $identifier_project = $one_id_temp;
 
            $url_phrases  = "https://site.com/api/project/$identifier_project/phrases"; 
            $get_all_phrases = connectToSite($url_phrases, $token);
            foreach($get_all_phrases as $value_phrase)
            {
                $phrase = $value_phrase['phrase'];
                if($phrase == null){
                    //данные отсутствуют.
                    $phrase = 'Данные отсутствуют'; 
                }
                $personal_id = $value_phrase['id'];
                if($personal_id == null){
                    //данные отсутствуют.
                    $personal_id = '-//-'; 
                }
                $geo = $value_phrase['is_geo']; 
                if($geo == false){
                     //интерпретируем
                    $geo = '-';
                }elseif($geo == true){
                    //интерпретируем
                    $geo = '+';
                } 
                $array_phrase[$identifier_project][] = [$identifier_project, $personal_id, $phrase, $geo];
            }
            $temp = [];
            $url_engines = "https://site.com/api/project/$identifier_project/engines"; 
            $get_all_engines = connectToSite($url_engines, $token);
            foreach($get_all_engines as $arr){
                $temp[$identifier_project][] = $arr['id'];
            }
            //echo "<pre>"; print_r($temp); echo "</pre>";
        }
        //echo "<pre>"; print_r($array_phrase); echo "</pre>";
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.08.2017, 09:31
Ответы с готовыми решениями:

Как послать файл с одного ноутбука на другой, если они подключены к одному wi-fi роутеру
Какая программа для этого лучше ? Использую filedrop, но в нём иногда бывают ошибки, настроек не...

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

Вывести соседние элементы массива, если они одного знака
Дан массив чисел. Если в нем есть два соседних элемента одного знака, выведите эти числа. Если...

Как из одного столбца выбрать нужные значения и вставить в другой столбец?
Доброго времени суток! Столкнулся с проблемой: В одном столбце в ячейке есть определенный редко...

1
ytf
276 / 259 / 185
Регистрация: 15.08.2017
Сообщений: 1,483
29.08.2017, 17:12 2
более удобно использовать var_export

PHP
1
2
3
4
5
6
7
8
echo "<pre>"; var_export($temp); echo "</pre>";
echo "<pre>"; var_export($array_phrase); echo "</pre>";
 
foreach ($array_phrase as $k=$v) {
$array_phrase[$k][0][] = $temp[$k];
}
 
echo "<pre>"; var_export($array_phrase); echo "</pre>";
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2017, 17:12
Помогаю со студенческими работами здесь

Вывести ключи у массива если у него значения совпадают с другим массивом
Например есть массивы $a1 = array(&quot;a&quot; =&gt; 6, &quot;b&quot; =&gt; 1, &quot;c&quot; =&gt; 17); $a2 = array(&quot;6&quot;, &quot;2&quot;,...

Как взять данные из одного массива и вставить в другой
Есть два jsona, успешно разобраны с помощью json_decode. Один вот такой {&quot;data&quot;: } ...

Как скопировать несколько элементов массива в другой массив, если они непоследовательны?
Как скопировать несколько элементов массива в другой массив, если они непоследовательны? Ну, или...

Поиск и копирование файлов в папку если они совпадают по названию
Здравствуйте подскажите как сделать следующую задачу. Имеется файл 555.01.Журнал_квартальный Где...

Как взять полученный результат из одного массива и вставить его в другой массив?
Доброго времени суток. Хотел спросить как можно взять полученный результат из одного метода и...

Перенести значения из одного массива в другой
Есть две таблицы в двух листах. Нужно из первой таблицы перенести значения последнего столбца во...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru