2015-10-13 4 views
0

Можете ли вы помочь мне решить эту проблему:Как правильно использовать оператор switch или condition?

Для этого

$ доля стоимости < = 30000 термин составляет от 1 - 36 с 1,3% на первом срок и уменьшающееся значение +0,65 на следующий срок, а $ доля Value> = 30001 с уменьшающейся значением .75

<?php 
// Create a function that can accept parameters 
function CalculateItem($share = 0,$terms = 0) 
    { 
     if($share <= 30000) 
      $multiplier = ($terms == "1")? .0130 : .0195; 
     elseif($share >= 30001) 
      $multiplier = ($terms == "1")? .0130 : .0205; 

     if(empty($multiplier)) 
      return; 

     $data['share']    = $share; 
     $data['terms']    = $terms; 
     $data['interest']   = ($share * $multiplier);      
     $data['service_fee']  = ($share * .01); 
     $data['filling_fee']  = 30; 
     $data['cash_on_hand']  = $share - ($data['service_fee'] + $data['interest'] + $data['filling_fee']); 
     $data['loan_receivable'] = $data['cash_on_hand'] + $data['service_fee'] + $data['interest'] + $data['filling_fee']; 
     $data['debit']    = $data['loan_receivable']; 
     $data['credit']    = $data['interest'] + $data['service_fee'] + $data['filling_fee'] + $data['cash_on_hand']; 

     return $data; 
    } 

// Get the state of data. Anything but false will trigger the breakout table 
$data = (isset($_POST['calculate']))? CalculateItem($_POST['share'],$_POST['terms']) : false; 
?> 
+0

что является проблемой, спариваются ?? –

+0

проблема не в выполнении правильной команды вычисляет только 1 и 2 члена, остальные 3-36 не вычислялись –

ответ

0

Хотя ставка фиксирована вы можете сделать это как -

$rate=.0130; 
if($share <= 30000) 
      $multiplier = $rate + ($terms-1)*(0.65); 
     elseif($share >= 30001) 
      $multiplier = $rate + ($terms-1)*(0.75); 

К таким образом, вы можете рассчитать в соответствии с условиями всех

Смежные вопросы