Ir para conteúdo

POWERED BY:

biakelly

[Resolvido] Ajudinha com regra de preço

Recommended Posts

Oie, olha e novamente aqui rs

 

To precisando de uma ajuda para um questão

Estou pegando uma cotação do dolar de 2 sites para fazer uma média

 

Ja consigo obter os valores e meu calculo para média é o seguinte:

 

$dolaruol + $dolargoogle / 2

 

Até ai tudo certinho, mas notei que um dos sites a cotação fica fora do ar de vez em quando então se meu calculo de média pegar uma delas com valor zero, o dolar ficaria em torno dos R$2,50 e isso seria terrível.

 

Sobre pegar média, sim, preciso de 2 preços (a história é longa rs)

 

Pensei em fazer um IF onde pudesse determinar que se, uma das cotações estiverem fora, não faço a média e sim pego o preço de uma delas temporariamente para exibir

 

$dolaruol 
$dolargoogle

if ($dolaruol->is_error() == false) {
    $dolaruol = ($dolaruol = 0) ? '0';
}
if ($dolargoogle->is_error() == false) {
    $dolargoogle = ($dolargoogle = 0) ? '0';
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @biakelly.

 

Você poderia fazer algo assim:

$cotacao = 0;
$cotacoes_utilizadas = 0;

if ( $dolar_google ) {
    ++$cotacoes_utilizadas;
    $cotacao += $dolar_google;
}

if ( $dolar_uol ) {
    ++$cotacoes_utilizadas;
    $cotacao += $dolar_uol;
}

$cotacao /= $cotacoes_utilizadas;// (divisão da soma das cotações pela qtd. utilizada). Ex: 10/2 ou 5/1

Você também pode utilizar cron jobs e armazenar a cotação em cache, sempre mantendo-a a mais correta possível sem precisar fazer essa requisições em cada consulta.

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 minutos atrás, biakelly disse:

Não briga comigo

Kkkk imagina :P

 

6 minutos atrás, biakelly disse:

esse ++ qual é o segredo por trás dele?

É um incremento. Cada vez que rodamos essa linha, a variável vai aumentar seu valor em 1.

Veja no manual: https://www.php.net/manual/pt_BR/language.operators.increment.php

 

Há uma sutil diferença entre ++$var (pré-incremento) e $var++ (pós-incremento).

<?php
$i = 1;
echo ++$i + 10;// Resultado: 12
echo "\n";
echo $i;// 2

echo "\n\n";

$i = 1;
echo $i++ + 10;// Resultado: 11
echo "\n";
echo $i;// 2

No pré-incremento, primeiro faz-se a soma, depois as demais operações.

No pós-incremento, primeiro as operações são executadas, depois disso a soma.

 

Quando utilizei apenas:

++$cotacoes_utilizadas;

 

Ele apenas somou 1. Não há outras operações, não faria nenhuma diferença utilizar o pós-incremento:

$cotacoes_utilizadas++;

 

Que ainda seria o mesmo que:

$cotacoes_utilizadas += 1;

Ou ainda:

$cotacoes_utilizadas = $cotacoes_utilizadas + 1;

Tudo a mesma coisa :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi @Matheus Tavares

 

 Nossa muito obrigada! Agora ficou claro como utilizo operações de incremento/decremento. :heart:

 

 Tem certeza que não é professor? Você tem muito talento

 

Mais uma vez muito obrigada viu!!! :smiley:

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.