PHP中的85/5000异步方程式:一个变量依赖于另一个尚未声明的变量

时间:2019-07-12 12:28:39

标签: php

我的代码中有一个求和,需要返回一个函数,但是此函数的返回取决于求和是否已经准备好,因为它使用了仍要创建的参数,您能解决吗?

这是一个用excel制作的计算器,我正在编程,但是excel就是这样,它可以工作,但是当我进入代码时,我陷入了这个问题。

//查看代码:

public function valorRenda($rendaMensal, $valorEntrada, $tempoMeses, $imovelTipo){
    $resultado = array();

    $resultado['tipoSimulacao'] = 'rendaCliente';

    $taxaMensal = $this->taxaPorTipo('rendaCliente', $imovelTipo, $rendaMensal) / 100;


    //Cálculo do valor da primeira parcela
    $primeiraParcela = $rendaMensal * 0.3;

    //Calcula valor máximo do financiamento
    $multiplicador = 0.5;

    $i = 1;
    for ($i = 1; $i <= 9999999999; $i++) {
      $amortizacao = ($i * $multiplicador) / $tempoMeses;
      $juros = (($i * $multiplicador) * ($taxaMensal));
      $valor = $amortizacao + $juros + $this->custoMensal($valorImovel,$valorEntrada);

      if ($valor >= $primeiraParcela) {
        $projecao = ($i * $multiplicador) + $valorEntrada;
        $valorImovel = ($projecao * $primeiraParcela / $valor);
        break;
      }
    }

    $financiamentoMaximo = round($valorImovel);
    $financiamentoMaximo = $this->formatoReal($financiamentoMaximo);
    $resultado['financiamentoMaximo'] = $financiamentoMaximo;
    $resultado['financiamentoMaximoFormatado'] = $this->formatoReal($financiamentoMaximo, false);

    //Calcula a primeira parcela
    $primeiraParcelaSemTaxas = $primeiraParcela - $this->custoMensal($valorImovel,$valorEntrada);
    $primeiraParcelaSemTaxas = round($primeiraParcelaSemTaxas, 2);
    $primeiraParcelaSemTaxas = $this->formatoReal($primeiraParcelaSemTaxas);
    $resultado['primeiraParcela'] = $primeiraParcelaSemTaxas;
    $resultado['primeiraParcelaFormatado'] = $this->formatoReal($primeiraParcelaSemTaxas, false);

    $primeiraParcelaTotal = $primeiraParcela;
    $primeiraParcelaTotal = round($primeiraParcelaTotal, 2);
    $primeiraParcelaTotal = $this->formatoReal($primeiraParcelaTotal);
    $resultado['primeiraParcelaTotal'] = $primeiraParcelaTotal;
    $resultado['primeiraParcelaTotalFormatado'] = $this->formatoReal($primeiraParcelaTotal, false);

    $valorUltimaParcela = ((($valorImovel - $valorEntrada) - ((($valorImovel - $valorEntrada) / $tempoMeses) * ($tempoMeses - 1))) + ((($valorImovel - $valorEntrada) - ((($valorImovel - $valorEntrada) / $tempoMeses) * ($tempoMeses - 1)))) * $taxaMensal) + $this->custoMensal($valorImovel,$valorEntrada);
    $ultimaParcelaSemTaxas = $valorUltimaParcela - $this->custoMensal($valorImovel,$valorEntrada);
    $ultimaParcelaSemTaxas = round($ultimaParcelaSemTaxas, 2);
    $ultimaParcelaSemTaxas = $this->formatoReal($ultimaParcelaSemTaxas);
    $resultado['ultimaParcela'] = $ultimaParcelaSemTaxas;
    $resultado['ultimaParcelaFormatado'] = $this->formatoReal($ultimaParcelaSemTaxas, false);

    $primeiraParcelaTotal = $valorUltimaParcela;
    $primeiraParcelaTotal = round($primeiraParcelaTotal, 2);
    $primeiraParcelaTotal = $this->formatoReal($primeiraParcelaTotal);
    $resultado['ultimaParcelaTotal'] = $primeiraParcelaTotal;
    $resultado['ultimaParcelaTotalFormatado'] = $this->formatoReal($primeiraParcelaTotal, false);

    $resultado['taxa'] = number_format(round(($taxaMensal * 100), 2), 2);


    $resultado['periodo'] = $tempoMeses;

    $this->incluiCustoMensal($resultado);

    return $resultado;
  }

//功能:

private function custoMensal($valorImovel, $entradaImovel)
  {`enter code here`
    $taxa_dfi = ($this->dfi / 100) * $valorImovel;
    $taxa_mip = ($this->mip / 100) * ($valorImovel- $entradaImovel);
    return $taxa_dfi +  $taxa_mip + $this->tac;
  }

问题出在哪里

   $valor = $amortizacao + $juros + $this->custoMensal($valorImovel,$valorEntrada);

在这一行中,我需要将$ valorImovel传递给custoMensal()函数,结果是尚未创建变量$ valorImovel,因为它取决于变量$ valor。

0 个答案:

没有答案