
21/11/2013, 06:59
|
Colaborador | | Fecha de Ingreso: marzo-2008 Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 17 años Puntos: 574 | |
Respuesta: Recorrer un array seleccionando solo un elemento por fila No es tan complicado.... solo 4 for....
Tus datos son un conjunto de n A, n B, n C, n D....
A 1,A 2,.....,A n
B 1,B 2,.....,B n
C 1,C 2,.....,C n
D 1,D 2,.....,D n
Luego debes recorrerlos de forma anidada...
Código PHP:
Ver original$arreglo=[[0]=>[A=>0,B=>0,C=>0,D=>0] [1]=>[A=>1,B=>1,C=>1,D=>1] .... [n]=>[A=>n,B=>n,C=>n,D=>n] ] for ($a=0;$a<count($arreglo);$a++){ for ($b=0;$b<count($arreglo);$b++){ for ($c=0;$c<count($arreglo);$c++){ for ($d=0;$d<count($arreglo);$d++){ $combina["A"]=$arreglo[$a]["A"]; $combina["B"]=$arreglo[$b]["B"]; $combina["C"]=$arreglo[$c]["C"]; $combina["D"]=$arreglo[$d]["D"]; $resultado[]=$combina; } } } }
$resultado será
A 0,B 0,C 0,D 0
A 0,B 0,C 0,D 1
A 0,B 0,C 0,D 2
....
A 0,B 0,C 0,D n-1
A0,B0,C1,D0
A0,B0,C1,D1
A0,B0,C1,D2
....
A0,B0,C1,Dn-1
.....
A0,B0,Cn-1,Dn-1
...
A0,Bn-1,Cn-1,Dn-1
...
An-1,Bn-1,Cn-1,Dn-1
No?
Puedes usar indices numéricos
$combina[0]=$arreglo[$a][0];
$combina[1]=$arreglo[$b][1];
$combina[2]=$arreglo[$c][2];
$combina[3]=$arreglo[$d][3];
__________________ Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
Última edición por quimfv; 21/11/2013 a las 07:11 |