Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rick1902

While como retornar um valor, ou fazer algo ?

Recommended Posts

Pessoal estou tentado realizer um loop com a seguinte condicao.

 

Eu tenho um peso que e igual a suponhamos 180 LBS, e tenho que divider este peso em pacotes de no maximo 50LBS e a sobra em um pacote por exemplo 180 dividido por 4 ficaria 3 pacotes de 50 e um pacote de 30, estou tentando fazer com um laco while, mais nao esta dando certo, por favor alguem poderia me indicar o caminho, um abraco.

 

Exemplo do While.


      /* Fazendo a Divisao dos Pacotes em 50 Pounds. */
      $weight       = $ShipWeight;      
      
      while ( $weight < 50 ){
          
                  
          /* se o Peso for Maior do que 50 */
          if($weight > 50){
           
              /* Soma mais um Pacote. */
              $i = ++$i;
              
          }else
          {
              /* Soma mais um ao Pacote e Termina, pois o Peso e Menor que 50*/
              $i = ++$i;
              break;
          }          
          
          $weight = $weight - 50;
      }


Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa dessa gambiarra toda...

 

$peso = 180;
$peso_maximo = 50;
$total_pacotes = ceil($peso/$peso_maximo);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nooooooooooooooooosaaa Fantastico, muito obrigado ajudou de mais, agora tenho uma outra duvida, como pegar o resto por exemplo sao 3 pacotes de 50 e um de 30, este 30 como pegar este valor ? Agradeco muiiiiiiiiiiiiiiiiito a ajuda, um forte abraco.

Compartilhar este post


Link para o post
Compartilhar em outros sites


$peso = 180;
$peso_maximo = 50;
$total_pacotes = explode('.',$peso/$peso_maximo);
$pacote_que_sobra = $peso-($total_pacotes['0']*$peso_maximo);

 

Veja que é necessário validar ali se a conta não está exata, por exemplo, se o peso total for de 150, vai gerar um pacote com zero de peso (pois neste caso a divisão é exata), mas ai você resolve.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim poderia ser?

 

$peso = 180;
$peso_maximo = 50;
$total_pacotes = ceil($peso/$peso_maximo);
for($i = 1; $i < $total_pacotes; $i++){
	$peso = $peso - $peso_maximo;
}
echo $peso;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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