Kodlama Dili : Php
Kısa Açıklama : Genelde alışveriş sitelerini gezerken dikkat etmişsinizdir, ürünün çeşidine ve fiyatına göre taksitlendirme yapılmaktadır. Dolar üzerinden satış yapanlar, merkez bankasının güncel döviz kurunu taksitlendirme sayfasına çekerek dolar kurunu bu fonksiyonun içerisinde işletebilir. Aşağıdaki kod gayet açık ve gelişmeye yönelik yapıya sahiptir.
Kod :
<?
function Fiyat($ToplamF,$TaksitF=1) {
$Taksitler = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
$Faizler = array(0,5.0,7.5,10.0,12.5,14.0,15.5,17.0,18.5,20.0,21.5,23.0,24.5,26.0,27.5);
$Vade = array_combine($Taksitler,$Faizler);
$Taksit = intval($TaksitF);
$Ucretlendirme = array();
$Toplam = number_format(str_replace(“,”,“.”,$ToplamF),2,“,”,“”);
$SaltTaksit = $Toplam/$Taksit;
$VadeFarki = $Toplam*$Vade[$Taksit]/100;
$VadeFarklari = array();
foreach($Vade as $TaksitV => $FaizV) {
$VadeFarklari[$TaksitV] = number_format(($Toplam*$Vade[$TaksitV]/100),2,“,”,“”);
}
$FaizliToplam = ($Toplam + $VadeFarki);
$FaizliTaksit = $FaizliToplam/$Taksit;
$Ucretlendirme['Urunler'] = $_POST['Urun'];
$Ucretlendirme['Faizsiz']['Toplam'] = $Toplam;
$Ucretlendirme['Faizsiz']['Taksit'] = number_format($SaltTaksit,2,“,”,“”);
$Ucretlendirme['Vade']['Sure'] = $Taksit;
$Ucretlendirme['Vade']['Fark'] = number_format($VadeFarki,2,“,”,“”);
$Ucretlendirme['Faizli']['Toplam'] = number_format($FaizliToplam,2,“,”,“”);
$Ucretlendirme['Faizli']['Taksit'] = number_format($FaizliTaksit,2,“,”,“”);
$Ucretlendirme['VadeFarklari'] = $VadeFarklari;
return $Ucretlendirme;
}
$Toplam = $_POST["Toplam"];
$Fiyat = Fiyat($Toplam,2);
echo ‘<pre>’;
print_r($Fiyat);
echo ‘</pre>’;
?>
Çıktısı:
Array
(
[Urunler] => Array
(
[70] => 8
[3] => 1
[85] => 3
[98] => 1
[28] => 1
[99] => 8
[89] => 1
)
[Faizsiz] => Array
(
[Toplam] => 118,12
[Taksit] => 59,00
)
[Vade] => Array
(
[Sure] => 2
[Fark] => 5,90
)
[Faizli] => Array
(
[Toplam] => 123,90
[Taksit] => 61,95
)
[VadeFarklari] => Array
(
[1] => 0,00
[2] => 5,90
[3] => 8,85
[4] => 11,80
[5] => 14,75
[6] => 16,52
[7] => 18,29
[8] => 20,06
[9] => 21,83
[10] => 23,60
[11] => 25,37
[12] => 27,14
[13] => 28,91
[14] => 30,68
[15] => 32,45
)
)
One Response
semih
Mart 18th, 2009 at 11:51
1Anlayan için açıklayıcıdır muhakkak ama biraz daha açıklayıcı olsaydı nereden ne çağırıyoruz gibi daha fazla yardımcı olurdu diye düşünüyorum.