I'm learning to work with an array, I have an array in which I have a starting date and a payment amount in every array which I try to merge the same date array in one array and add their payment amount in one array
this exiting array
array:4 [
0 => array[
"payment_amount" => 100
"starting_date" => "2021-06-16"
]
1 => array[
"payment_amount" => 200
"starting_date" => "2021-06-16"
]
2 => array[
"payment_amount" => 300
"starting_date" => "2021-06-16"
]
3 => array[
"payment_amount" => -200
"starting_date" => "2021-06-17"
]
]
Expected Result
array:2 [
0 => array[
"payment_amount" => 600
"starting_date" => "2021-06-16"
]
1 => array[
"payment_amount" => -200
"starting_date" => "2021-06-17"
]
]
This is my script code which I try to merge the array
$.ajax({
url: '/test/data',
type: 'get',
dataType: 'json',
success: function (data) {
data.sort(function(a,b){
return new Date(a.starting_date) - new Date(b.starting_date);
});
testarray(data)
},
error: function () {
alert("Failed! Please try again.");
}
});
My php code
$sortarray = [];
$previewsdate = 0;
$newsdate = 0;
for ($i=0;$i <count($result);$i++) {
$previewsdate = $result[$i]['starting_date'];
echo "previewsdate ".$newsdate.'<br>';
if ($result['0']['starting_date'] === $previewsdate) {
$newsdate = $previewsdate;
echo "first date".$newsdate.'<br>';
array_push($sortarray, $result[$i]);
}
else if ($newsdate === $previewsdate) {
$newone = array_merge( $result[$i], $result[$i-1]);
$newsdate = $previewsdate;
print_r($newsdate);
echo "next datekjkjkj ".$newsdate.'<br>';
array_push($sortarray, $newone);
}
else if ($newsdate !== $previewsdate) {
$newsdate = $previewsdate;
echo "next date ".$newsdate.'<br>';
array_push($sortarray, $result[$i]);
}
}