Hello,
I have an array and i need to export min and max number for each month/year:
$results = array();
$results[] = array('created_month' => '1-2019', 'min' => 2.3, 'max' => -0.2);
$results[] = array('created_month' => '1-2019', 'min' => 1.3, 'max' => 0.3);
$results[] = array('created_month' => '1-2019', 'min' => -1.3,'max' => 1.2);
$results[] = array('created_month' => '1-2019', 'min' => 0.3, 'max' => 0.2);
$results[] = array('created_month' => '2-2019', 'min' => 1.0, 'max' => 3.1);
$results[] = array('created_month' => '2-2019', 'min' => 0.4, 'max' => 2.3);
$results[] = array('created_month' => '2-2019', 'min' => 2.0, 'max' => 1.1);
$results[] = array('created_month' => '3-2019', 'min' => -1.4,'max' => 3);
$results[] = array('created_month' => '3-2019', 'min' => 2.3, 'max' => 1.5);
so output need to look like this
Array
(
[0] => Array
(
[created_month] => 1-2019
[min] => -1.3
[max] => 1.2
)
[1] => Array
(
[created_month] => 2-2019
[min] => 0.4
[max] => 3.1
)
)
but problem is that i am not getting results for 3-2019
here is code:
// extract single month, 'created_month' like 1-2019, 2-2019, 3-2019
$single_month = array();
for ($i=0; $i < count($results); $i++) {
if (!in_array($results[$i]['created_month'], $single_month))
array_push($single_month, $results[$i]['created_month']);
}
// get min and max value for each month
$min = array();
$max = array();
$final = array();
for ($i=0; $i < count($single_month); $i++) {
for ($j=0; $j < count($results); $j++) {
if ($results[$j]['created_month'] == $single_month[$i]) {
if (!in_array($results[$j]['min'], $min))
array_push($min, $results[$j]['min']);
if (!in_array($results[$j]['max'], $max))
array_push($max, $results[$j]['max']);
} else {
// take only min and max from each month/year
if (count($min) >= 1 || count($max) >= 1) {
array_push($final, array(
'created_month' => $single_month[$i],
'min' => min($min),
'max' => max($max)
));
}
$min = []; // reset array
$max = []; // reset array
}
}
}
echo '<br>----------------- $single_month extracted to array ----------------- <br>';
echo '<pre>';
print_r($single_month);
echo '</pre>';
echo '<br>----------------- $final array need to return min and max value for each month ----------------- <br>';
echo '<pre>';
print_r($final);
echo '</pre>';