Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将json数组转换为html表_Php_Html_Calculator_Scheduler_Amortization - Fatal编程技术网

Php 将json数组转换为html表

Php 将json数组转换为html表,php,html,calculator,scheduler,amortization,Php,Html,Calculator,Scheduler,Amortization,我用php创建了摊销计划。我想通过使用带有html属性的etc将其显示为表 当我在echo之后使用html标记时,它会显示带有结果的html标记 如何将html属性部署到从中检索的数据 这是我的代码: public function __construct($data) { if($this->validate($data)) { $this->loan_amount = (float) $dat

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

当我在echo之后使用html标记时,它会显示带有结果的html标记

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

这是我的代码:
    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);



?>