Arkadaşlar elimde 3 array var.
$taksit[] = array("taksit"=>"11","tutar"=>"1100");
$taksit[] = array("taksit"=>"5","tutar"=>"500");
$taksit[] = array("taksit"=>"8","tutar"=>"800");
Bunları hepsi aynı gün ödenmeye başlayacak şekilde sıralamam gerekiyor ama mantığı çıkaramadım
Olması gereken tablo
1. Ay = 300
2. Ay = 300
3. Ay = 300
4. Ay = 300
5. Ay = 300
6. Ay = 200
7. Ay = 200
8. Ay = 200
9. Ay = 100
10. Ay = 100
11. Ay = 100
Bu şekilde ekrana nasıl basarım ?
Bu taksit algoritmasi nasıl yapilir
4
●437
- 11-07-2015, 17:27:40
- 12-07-2015, 09:41:55
<?php $taksit = array(); $taksit[] = array("taksit"=>"11","tutar"=>"1100"); $taksit[] = array("taksit"=>"5","tutar"=>"500"); $taksit[] = array("taksit"=>"8","tutar"=>"800"); // Taksit sayısı küçükten büyüğe oalcak şekilde diziyi sıralıyoruz usort($taksit, function($a, $b) { return $a['taksit'] - $b['taksit']; }); $aylikTutar = 0; $ay = 1; // Dizinin üstünde değişiklik yapacağımız için başka bir değişken kullanıyoruz. // Orjinal değişken belki lazım olur sonra $taksitKopya = $taksit; // En büyük taksit sayısını alıyoruz. // Bu örnekte $son = 11 oluyor yani $son = end(array_values($taksit)); $son = intval($son['taksit']); // En büyük taksit sayısı kadar bir döngü while($son > 0) { // Her ürün için foreach($taksitKopya AS &$t) { // Eğer taksit bitmişse bunu geçiyoruz if($t['taksit'] == "0") { continue; } $aylikTutar += 100; $t['taksit']--; } echo "$ay. ay: $aylikTutar\n"; $ay++; $son--; $aylikTutar = 0; }Aylık taksiti direk 100 diye yazdım. Sen onu hesaplayıp bir değişkene atıp öyle kullanırsın. - 12-07-2015, 14:52:28Hocam bunu çalıştırdığımda_LosT_ adlı üyeden alıntı: mesajı görüntüle
1. ay: 300
2. ay: 300
3. ay: 300
4. ay: 300
5. ay: 300
6. ay: 300
7. ay: 300
8. ay: 300
9. ay: 300
10. ay: 300
11. ay: 300
şeklinde bir çıktı alıyorum - 12-07-2015, 14:54:23https://ideone.com/WBm543icebreaker adlı üyeden alıntı: mesajı görüntüle
Düzgün çalışıyor. PHP sürümünüz nedir? - 12-07-2015, 15:03:06evet hocam çok kodları verdiğiniz linkden kopyalayınca çalıştı çok teşekkürler