2016-10-31 3 views
1

Я два массиваДобавление значений в массив в том же ключе

118 => array:7 [ 
    "date" => "19.10.2016" 
    "time1" => "dfg" 
    "purpose1" => "dfg" 
    "chair1" => "dfg" 
    "time2" => "dfg" 
    "purpose2" => "dfg5" 
    "chair2" => "5345" 
    ] 
    123 => array:7 [ 
    "date" => "20.10.2016" 
    "time1" => "gdf" 
    "purpose1" => "gdfg" 
    "chair1" => "gdf" 
    "time2" => "gdfg" 
    "purpose2" => "gdf" 
    "chair2" => "534534" 
    ] 
    124 => array:7 [ 
    "date" => "20.10.2016" 
    "time1" => "gdf" 
    "purpose1" => "gdfg" 
    "chair1" => "gdf" 
    "time2" => "gdfg" 
    "purpose2" => "gdf" 
    "chair2" => "534534" 
    ] 

и

0 => {#231 
    +"label_id": "D101102E" 
    +"id": 118 
    } 
    1 => {#232 
    +"label_id": "D1011100" 
    +"id": 123 
    } 
    2 => {#233 
    +"label_id": "D1011100" 
    +"id": 124 
    } 

Где id является ключевым в первом массиве и значение во втором массиве. Я хочу добавить label_id в первый массив как значение в том же id как ключ. Я уже пытаюсь использовать array_fill_keys и array_push, но это не главное. Спасибо

+4

Покажите нам код ([mcve]) –

+0

, как сделал и попытаться добавить его? –

+0

Вам нужно перебрать второй массив и просто установить новые значения один за другим. – arkascha

ответ

1

Итерацию через первый массив, затем во вложенном цикле, итерацию через второй массив, сравнивающий внешний ключ с внутренним идентификатором. Если у вас есть соответствие, добавьте значение во внешний массив и перейдите к следующему элементу.

<?php 

$a = [ 
    118 => [ 
     "date" => "19.10.2016", 
     "time1" => "dfg", 
     "purpose1" => "dfg", 
     "chair1" => "dfg", 
     "time2" => "dfg", 
     "purpose2" => "dfg5", 
     "chair2" => "5345", 
    ], 
    123 => [ 
     "date" => "20.10.2016", 
     "time1" => "gdf", 
     "purpose1" => "gdfg", 
     "chair1" => "gdf", 
     "time2" => "gdfg", 
     "purpose2" => "gdf", 
     "chair2" => "534534", 
    ], 
    124 => [ 
     "date" => "20.10.2016", 
     "time1" => "gdf", 
     "purpose1" => "gdfg", 
     "chair1" => "gdf", 
     "time2" => "gdfg", 
     "purpose2" => "gdf", 
     "chair2" => "534534", 
    ], 
]; 

$b = [ 
    0 => [ 
     "label_id" => "D101102E", 
     "id" => 118, 
    ], 
    1 => [ 
     "label_id" => "D1011100", 
     "id" => 123, 
    ], 
    2 => [ 
     "label_id" => "D1011100", 
     "id" => 124, 
    ], 
]; 

foreach($a as $key => $value){ 
    foreach($b as $k => $v){ 
     if($key === $v['id']){ 
      $a[$key]['label_id'] = $k; 
      continue; 
     } 
    } 
} 

print_r($a); 
Array 
(
    [118] => Array 
     (
      [date] => 19.10.2016 
      [time1] => dfg 
      [purpose1] => dfg 
      [chair1] => dfg 
      [time2] => dfg 
      [purpose2] => dfg5 
      [chair2] => 5345 
      [label_id] => 0 
     ) 

    [123] => Array 
     (
      [date] => 20.10.2016 
      [time1] => gdf 
      [purpose1] => gdfg 
      [chair1] => gdf 
      [time2] => gdfg 
      [purpose2] => gdf 
      [chair2] => 534534 
      [label_id] => 1 
     ) 

    [124] => Array 
     (
      [date] => 20.10.2016 
      [time1] => gdf 
      [purpose1] => gdfg 
      [chair1] => gdf 
      [time2] => gdfg 
      [purpose2] => gdf 
      [chair2] => 534534 
      [label_id] => 2 
     ) 

) 
Смежные вопросы