У меня есть массив, который выглядит следующим образом.
Array (
[0] => Array ([label] => 2020-04-01 11:44:13, [y] => 100)
[1] => Array ([label] => 2020-04-01 11:45:49, [y] => 150)
[2] => Array ([label] => 2020-04-01 13:11:24, [y] => 175)
[3] => Array ([label] => 2020-04-02 10:19:08, [y] => 200)
[4] => Array ([label] => 2020-04-02 11:24:38, [y] => 250)
[5] => Array ([label] => 2020-04-04 12:24:38, [y] => 300)
[6] => Array ([label] => 2020-04-05 13:49:38, [y] => 400)
[7] => Array ([label] => 2020-04-05 14:36:38, [y] => 450)
[8] => Array ([label] => 2020-04-05 14:24:38, [y] => 550)
[9] => Array ([label] => 2020-04-08 09:20:41, [y] => 600)
[10] => Array ([label] => 2020-04-08 10:09:38, [y] => 635)
[11] => Array ([label] => 2020-04-08 11:35:33, [y] => 690)
[12] => Array ([label] => 2020-04-08 13:24:38, [y] => 725)
[13] => Array ([label] => 2020-04-08 17:12:35, [y] => 775)
)
Как видите, у меня есть массив 14, и у каждого есть два значения label
и y
, и я передаю их оба как моя точка данных диаграммы.
Ниже приведен мой код
<?PHP
$dataPointskWh = array();
$dataPointskWhDiff = array();
$model = $dataProvider->getModels();
foreach ($model as $row) {
// pushing for kwh values
array_push($dataPointskWh, array(
"label" => $row['Data_Date_Time'],
"y" => $row['kWh']
));
}
?>
Что я хочу сделать
- Я хочу сделать разницу в следующем шаблоне
array[1][y] - array[0][y]
, который дает мне 50
, array[2][y] - array[1][y]
, который дает мне 25
и так далее до конца массива. - С этим я также хочу сделать разницу между датой и временем как
array[1][label]-array[2][label]
, array[2][label]-array[1][label]
и т. д. - Затем я хочу сделать это
array_push($dataPointskWhDiff, array("label"=>$row['Data_Date_Time'],"y"=>$row['kWh']));
- Наконец, я передам его точкам данных в диаграмме
dataPoints: <?php echo json_encode($dataPointskWhdIFF, JSON_NUMERIC_CHECK); ?>
foreach ($dataPointskWh as $key => $number) {
if (isset($dataPointskWh[$key+1])) {
$dataPointskWhDiff[$number] = $number - $dataPointskWh[$key+1];
}
}
var_dump($dataPointskWhDiff);
die();
Я получаю ошибку Unsupported operand types
при $dataPointskWhDiff[$number] = $number - $dataPointskWh[$key+1];
Как мне этого добиться? Любая помощь будет высоко ценится