У меня есть массив с финансовым годом и месяцем (июнь-июль), преобразованный в календарный год и месяц. Каждая строка содержит финансовый год, финансовый месяц, календарный год, календарный месяц и деньги, потраченные в этом месяце. Этот массив возвращается SQL запросом. Когда он возвращается, он не включает месяцы, когда потраченные деньги были равны нулю.
Я хочу найти календарные месяцы, начиная с первого календарного года (в данном случае 2017), где потраченные деньги были равны нулю, и добавить их в тот же массив с соответствующим финансовым годом, финансовым месяцем, календарным годом, календарным месяцем , Таким образом, этот массив содержит все месяцы, когда потраченные деньги были равны нулю или больше нуля.
Массив, возвращаемый из базы данных, создается здесь как $ row. Я пытался создать логику c для поиска месяцев, но безуспешно. В моем случае циклы, вместо вывода менее 36 раз, выводят многочисленные значения. Любая помощь будет очень полезной.
<code> $row;
$row[0]=array("fin_year"=>2018,"fin_month"=>5,"spent"=>125.00,"cal_year"=>2017,"cal_month"=>11 );
$row[1] = array("fin_year" => 2018, "fin_month" => 7, "spent" => 200.00, "cal_year" => 2018, "cal_month" => 1);
$row[2] = array("fin_year" => 2018, "fin_month" => 8, "spent" => 300.00, "cal_year" => 2018, "cal_month" => 2);
$row[3] = array("fin_year" => 2018, "fin_month" => 10, "spent" => 200.00, "cal_year" => 2018, "cal_month" => 4);
$row[4] = array("fin_year" => 2018, "fin_month" => 12, "spent" => 200.00, "cal_year" => 2018, "cal_month" => 6);
$row[5] = array("fin_year" => 2019, "fin_month" => 2, "spent" => 725.00, "cal_year" => 2018, "cal_month" => 8);
$row[6] = array("fin_year" => 2019, "fin_month" => 3, "spent" => 210.00, "cal_year" => 2018, "cal_month" => 9);
$row[7] = array("fin_year" => 2019, "fin_month" => 4, "spent" => 330.00, "cal_year" => 2018, "cal_month" => 10);
$row[8] = array("fin_year" => 2019, "fin_month" => 8, "spent" => 230.00, "cal_year" => 2019, "cal_month" => 4);
$row[9] = array("fin_year" => 2019, "fin_month" => 10, "spent" => 333.00, "cal_year" => 2019, "cal_month" => 4);
echo "<pre>";print_r($row);
echo "
"; $ start_year = 2017; $ last_year = 2019; for ($ l = $ start_year; $ l ++; $ l <= $ last_year) {// проверить первый год 2017 foreach ($ row как $ value) {// l oop через все строки row ['0'] if ($ l = $ value ['cal_year']) {// true для ($ k = 1; $ k <= 12; $ k ++) {// k = 12 месяцев в году, если ($ k! = $ Value ['cal_month']) {echo 'kkkkk'. $ L. $ K; echo '<br>';} }}}}