Skip to content

Instantly share code, notes, and snippets.

@nikoskip
Created August 13, 2014 19:18
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save nikoskip/2336cde7ec864a5ffcb9 to your computer and use it in GitHub Desktop.
Save nikoskip/2336cde7ec864a5ffcb9 to your computer and use it in GitHub Desktop.
Obtener tamaño contenedor final de acuerdo a items con distintas medidas
<?php
/**
* Útil cuando se necesita calcular el tamaño de un paquete a enviar en el cual
* dentro van N productos con distintas medidas.
*
* Con este algoritmo se puede obtener el tamaño de la caja contenedora final necesaria.
*/
$dimensiones = array(0, 0, 0); // Largo, alto, ancho
foreach ($items as $item) {
$largo = $item->largo;
$ancho = $item->ancho;
$alto = $item->alto;
if($dimensiones[0] === 0 and $dimensiones[1] === 0 and $dimensiones[2] === 0){
$dimensiones[0] = $largo;
$dimensiones[1] = $alto;
$dimensiones[2] = $ancho;
} else {
if(abs($ancho - $dimensiones[2]) < abs($largo - $dimensiones[0])){
$dimensiones[0] = $largo + $dimensiones[0];
} else {
$dimensiones[2] = $ancho + $dimensiones[2];
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment