0

私はPHPで償却スケジュールを作成しました。そしてhtml属性でetcを使って表として表示したい

エコー後に html タグを使用すると、結果に html タグが表示されます。

これから取得したデータにhtml属性を展開するにはどうすればよいですか?

これが私のコードです: <?php /** * AMORTIZATION CALCULATOR * @author PRANEETH NIDARSHAN * @version V1.0 */ class Amortization { private $loan_amount; プライベート $term_years; プライベート $interest; プライベート $terms; プライベート $期間; プライベート $currency = "XXX"; プライベート $principal; プライベート $balance; プライベート $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