Как заменить значения в массиве значениями из другого массива, связанного общей меткой времени в обоих массивах - PullRequest
0 голосов
/ 01 октября 2019

У меня есть два идентичных массива PHP с двумя значениями (метка времени и значение) для строки, например

$A1[1]['timestamp'] = 11:20
$A1[1]['Value'] = 100
$A1[2]['timestamp'] = 11:21
$A1[2]['Value'] = 110

$A2[1]['timestamp'] = 11:20
$A2[1]['Value'] = 85

Все метки времени в A2 существуют в A1

Я хочу заменить все значенияв A1 со значением A2, имеющим одинаковую временную метку.

Так что после слияния / замены новый массив (или А1) будет

$A1[1]['timestamp'] = 11:20
$A1[1]['Value'] = 85
$A1[2]['timestamp'] = 11:21
$A1[2]['Value'] = 110

Я смотрел различные слияния / замены массиваопций, но не удалось найти пример, в котором замена была основана на взаимном значении в одном из полей

1 Ответ

0 голосов
/ 01 октября 2019

Вы можете попробовать этот пользовательский цикл.

foreach($A1 as $k=>$v){
  foreach($A2 as $key=>$val){
    if($A2[$key]['timestamp'] == $A1[$k]['timestamp']){
      $A1[$k]['value'] = $A2[$key]['value'];
      break;
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...