I tienen una serie de mi inventario (artículos A & B)¿Cómo redistribuyo una matriz en otra matriz de cierta "forma"? PHP
Artículos A & B se venden como conjuntos de 1 x A & 2 x B.
Los artículos también tienen varias propiedades que don' t afecta cómo se distribuyen en conjuntos.
Por ejemplo:
$inventory=array(
array("A","PINK"),
array("A","MAUVE"),
array("A","ORANGE"),
array("A","GREY"),
array("B","RED"),
array("B","BLUE"),
array("B","YELLOW"),
array("B","GREEN"),
array("B","BLACK")
);
Quiero redistribuir el inventario de $ matriz para crear conjunto (s) $ tal que
$set[0] => Array
(
[0] => array(A,PINK)
[1] => array(B,RED)
[2] => array(B,BLUE)
)
$set[1] => Array
(
[0] => array(A,MAUVE)
[1] => array(B,YELLOW)
[2] => array(B,GREEN)
)
$set[2] => Array
(
[0] => array(A,ORANGE)
[1] => array(B,BLACK)
[2] => NULL
)
$set[3] => Array
(
[0] => array(A,GREY)
[1] => NULL
[2] => NULL
)
Como se puede ver. Los elementos se redistribuyen en el orden en que aparecen en el inventario para crear un conjunto de 1 x A & 2 x B. El color no importa al crear el conjunto. Pero debo ser capaz de descubrir qué color entró después de que se creó la matriz $ set. Los conjuntos se crean hasta que se agota todo el inventario. Donde no existe un elemento de inventario para entrar en un conjunto, se inserta un valor NULL.
¡Gracias de antemano!
Gracias por la ¡Respuesta rápida! Esto ciertamente funciona. Todavía estoy tratando de descifrarlo (las matrices aún son nuevas para mí), pero por lo que puedo ver, no creo que vaya a ser muy flexible para mi propósito. Los conjuntos no siempre se configurarán como (A, B, B). Entonces necesito poder hacer esto "sobre la marcha". Gracias por su esfuerzo – matt