Regra De Três Em Php
#1
Posted 12/06/2006, 22:29
Tenho 3 valores aqui, x, y e z com os seguintes valores 100, 200 e 300 que somados da 600. Posso retirar esses 600 daí de uma vez só... porém...
Digamos que o máximo que eu posso tirar é 200(No total), como faço para tirar proporcionalmente isso aos valores x, y e z ?
Entenderam, eu tenho 600 no total, mas só posso retirar 200, e nestes 200 ainda tenho 3 valores que devem ser retirados proporcionalmente. Eis a questão, como ?
To errando alguma coisa na parte matemática aqui, aí antes que eu perca tempo procurando um erro bobo de lógica meu, peço ajuda a vocês... hehe
Abraço
#2
Posted 12/06/2006, 23:11
TopBrasil - * Aqui seu site tem valor *
========================================
========================================
E-mail: williamont@terra.com.br
========================================
========================================
MSN: wil_rock@hotmail.com
========================================
========================================
Doando - O TopBrasil apoia essa ideia
========================================
#3
Posted 13/06/2006, 08:34
Esses numeros seriam fixos??? Ou seja, apenas tres valores realmente?
E outra coisa que não entendi.
Quando vc diz proporcional, vc quer dizer que em cima de 100 tem que ser tirado 33%, em cima de 200 33% e em cima de 300 33% ou de cada um tem que ser tirado a divisão de 200 por exemplo o que daria 66,66???
Interessante isso
Aguardo respostas
Té mais
URL: www.batepapobrasil.com
----------------------------
Site desenvolvidos
URL: VitrineABC :: Alugue Litoral :: OrtodontiaLago
#4
Posted 13/06/2006, 09:15
<?php function subtract($aValues, $nSubtract) { $nValueSubtract = (array_sum($aValues) - $nSubtract) / count($aValues); foreach ($aValues as $key => $value) { $aValues[$key] = $value - $nValueSubtract; } return $aValues; } $aValues = array('x' => 100, 'y' => 200, 'z' => 300); list($x,$y,$z) = array_values(subtract($aValues, 300)); ?> <ul> <li>x: <?= $x ?></li> <li>y: <?= $y ?></li> <li>z: <?= $z ?></li> </ul>
Nunca fui bom em matemática, mas veja se o resultado seria esse:
x: 0
y: 100
z: 200
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
#5
Posted 13/06/2006, 11:55
Isso que eu chamo de usar funções do PHP
Só não entendi porque que o X deu zero
Chegando em casa, eu tento fazer o meu pensamento
Té mais
Dando umas fuçadas no código do Eclesiastes, cheguei a seguinte conclusão
Espero que ele não se importe
Já num é mais a primeira vez.
<?php
function subtract($aValues) {
$nValueSubtract = "100" / count($aValues) / "100";
foreach ($aValues as $key => $value) {
$aValues[$key] = $value * $nValueSubtract;
}
return $aValues;
}
$aValues = array('x' => 100, 'y' => 200, 'z' => 300);
list($x,$y,$z) = array_values(subtract($aValues));
//33,33 - 66,66 - 99,99
?>
<ul>
<li>x: <?= $x ?></li>
<li>y: <?= $y ?></li>
<li>z: <?= $z ?></li>
</ul>
Eu acho que é isso.
Té mais
URL: www.batepapobrasil.com
----------------------------
Site desenvolvidos
URL: VitrineABC :: Alugue Litoral :: OrtodontiaLago
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)