Как вывести разницу между значениями Array A и Array B в Laravel? - PullRequest
0 голосов
/ 16 марта 2019

У меня есть массив, который собирает значения в массив следующим образом:

        /* Pluck just the wattage values to an array */
        $realtime_data_array = $latestrtfeed->nth(60)->reverse()->pluck('data')->toArray();

, что приводит к:

array:150 [▼
  0 => 20277.6
  1 => 20281.4
  2 => 20285.3
  3 => 20289.7
  4 => 20293.8
  5 => 20298.6
  6 => 20303.2
  7 => 20307.4
  8 => 20311.5
  9 => 20315.8
  10 => 20319.8

эти значения вводятся в диаграмму следующим образом:

    $realtime_consumption_chart->dataset('kWh', 'line', $realtime_data_array);

Проблема в том, что датчик хранит кумулятивные значения, и я хочу показать только разницу между значением 0 и значением 1, затем разницу между значением 1 и значением 2 и т. Д. И т. Д.

Как бы я поступил так?

Я собираюсь сделать снимок и сказать, что мне нужно будет выполнить FOREACH для массива и создать новый массив с откорректированными значениями, но как мне это сделать?возможно:

    foreach ($realtime_data_array as $data) {
        $realtime_data_array_corrected = ($data[1]-$data[0])->toArray();
    }

Нет, я что-то не так делаю или не рассматриваю здесь.

1 Ответ

1 голос
/ 16 марта 2019
for ($i = 0; $i < sizeof($realtime_data_array); $i++) {
    if($i==0) {
       $realtime_data_array_corrected[$i] = 0;
       continue;
    }
    $realtime_data_array_corrected[$i] = $realtime_data_array[$i] - $realtime_data_array[$i-1];
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...