rick1902 0 Denunciar post Postado Agosto 5, 2013 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
ESerra 744 Denunciar post Postado Agosto 5, 2013 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
rick1902 0 Denunciar post Postado Agosto 5, 2013 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
ESerra 744 Denunciar post Postado Agosto 5, 2013 $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
angelorubin 142 Denunciar post Postado Agosto 5, 2013 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
Marcos Fiuza 3 Denunciar post Postado Agosto 5, 2013 para pegar os 30 restantes você poderia usar 180 % 50. Compartilhar este post Link para o post Compartilhar em outros sites
Wanderson Valerio 102 Denunciar post Postado Agosto 5, 2013 $peso = 180; $peso_maximo = 50; $pacotes = ceil($peso/$peso_maximo); $resto_pacotes = $peso % $peso_maximo; echo $peso; Compartilhar este post Link para o post Compartilhar em outros sites