0

我在 php 中创建了摊销计划。我想通过使用带有html属性的etc将它显示为表格

当我在回显后使用 html 标签时,它会显示带有结果的 html 标签。

如何将 html 属性部署到从中检索到的数据中?

这是我的代码: <?php /** * AMORTIZATION CALCULATOR * @author PRANEETH NIDARSHAN * @version V1.0 */ class Amortization { private $loan_amount; 私人 $term_years; 私人$利息;私人$条款;私人$期间;私人$货币=“XXX”;私人$本金;私人$余额;私人 $term_pay;

    public function __construct($data)
    {
        if($this->validate($data)) {

            
            $this->loan_amount  = (float) $data['loan_amount'];
            $this->term_years   = (int) $data['term_years'];
            $this->interest     = (float) $data['interest'];
            $this->terms        = (int) $data['terms'];
            
            $this->terms = ($this->terms == 0) ? 1 : $this->terms;

            $this->period = $this->terms * $this->term_years;
            $this->interest = ($this->interest/100) / $this->terms;

            $results = array(
                'inputs' => $data,
                'summary' => $this->getSummary(),
                'schedule' => $this->getSchedule(),
                );

            $this->getJSON($results);
        }
    }

    private function validate($data) {
        $data_format = array(
            'loan_amount'   => 0,
            'term_years'    => 0,
            'interest'      => 0,
            'terms'         => 0
            );

        $validate_data = array_diff_key($data_format,$data);
        
        if(empty($validate_data)) {
            return true;
        }else{
            echo "<div style='background-color:green;padding:0.5em;'>";
            echo '<p style="color:red;margin:0.5em 0em;font-weight:bold;background-color:#fff;padding:0.2em;">Missing Values</p>';
            foreach ($validate_data as $key => $value) {
                echo ":: Value <b>$key</b> is missing.<br>";
            }
            echo "</div>";
            return false;
        }
    }

    private function calculate()
    {
        $deno = 1 - 1 / pow((1+ $this->interest),$this->period);

        $this->term_pay = ($this->loan_amount * $this->interest) / $deno;
        $interest = $this->loan_amount * $this->interest;

        $this->principal = $this->term_pay - $interest;
        $this->balance = $this->loan_amount - $this->principal;

        return array (
            'payment'   => $this->term_pay,
            'interest'  => $interest,
            'principal' => $this->principal,
            'balance'   => $this->balance
            );
    }
    
    public function getSummary()
    {
        $this->calculate();
        $total_pay = $this->term_pay *  $this->period;
        $total_interest = $total_pay - $this->loan_amount;

        return array (
            'total_pay' => $total_pay,
            'total_interest' => $total_interest,
            );
    }

    public function getSchedule ()
    {
        $schedule = array();
        
        while  ($this->balance >= 0) { 
            array_push($schedule, $this->calculate());
            $this->loan_amount = $this->balance;
            $this->period--;
        }

        return $schedule;

    }

    private function getJSON($data)
    {
        header('Content-Type: application/json');
    
     

        $data2=json_encode($data['schedule'],true);
        $data3=json_decode($data2,true);

        
  

foreach($data3 as $dd){
    
 echo htmlentities(print_r($dd['interest']),true);
}


      
    }
}

$data = array(
    'loan_amount'   => 20000,
    'term_years'    => 1,
    'interest'      => 10,
    'terms'         => 24
    );

$amortization = new Amortization($data);



?>
4

0 回答 0