Foros del Web » Programando para Internet » PHP »

Convertir 1 matriz en otra.

Estas en el tema de Convertir 1 matriz en otra. en el foro de PHP en Foros del Web. Buenas. No soy un experto en PHP y por tanto necesito de vuestra ayuda. Tengo una función que me da como resultado una matriz tal ...
  #1 (permalink)  
Antiguo 23/11/2007, 05:34
 
Fecha de Ingreso: octubre-2007
Mensajes: 17
Antigüedad: 16 años, 6 meses
Puntos: 0
Convertir 1 matriz en otra.

Buenas.

No soy un experto en PHP y por tanto necesito de vuestra ayuda. Tengo una función que me da como resultado una matriz tal que asi:

$matriz[0] = array(x, a, p);
$matriz[1] = array(x, a , a*);
$matriz[2] = array(x, p, p, x);.....
$matriz[n] = array(x*, a);

cada elemento en una nueva matriz no puede estar solo y tiene un compañero (su complemento), es decir tengo otra matriz con cada elemento y su cmpañero (si no existe compañero en $matriz se añade su complemento). La matriz con los elementos y sus complementos:

$pares = array (array(x, x*), array(a, a*, p, p*));

pues bien, lo que quiero es que la matriz final $result tenga esta apariencia:

$result[0] = array(x/x*, a/p);
$result[1] = array(x/x*, a/a*);
$result[2] = array(x/x, p/p);.....
$result[n] = array(x*/x*, a/a*);

Esto lo intenté con el siguiente código, pero no me sale

Código PHP:
for ($i 0;$i count($matriz);$i++){
    for (
$j 0;$j count($matriz[$i]);$j++){
        for (
$k 0;$k count($pares);$k++){
            for (
$d 0;$d count($pares[$k]);$d++){
                if (
in_array($pares[$k][$d],$matriz[$i])){ 
                    
$result[$i][$k] = $pares[$k][$d];
                    unset(
$matriz[$i][array_search($pares[$k][$d],$matriz[$i])]);
                    for (
$e 0;$e count($pares[$k]);$e++){
                        if (
in_array($pares[$k][$e],$matriz[$i])){ 
                            
$result[$i][$k] .= '/'.$pares[$k][$e];
                            unset(
$matriz[$i][array_search($pares[$k][$e],$matriz[$i])]);
                            }
                        else {
                            if (
in_array($pares[$k][$e],$matriz[$i])) $result[$i][$k] .= '/'.$pares[$k][$e].'*';
                            }
                        }
                    }
                }
            }
        }
    } 
Espero me podais ayudar con lo cual de antemano os lo agradezco.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:41.