Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/08/2007, 04:16
publijesus
 
Fecha de Ingreso: noviembre-2005
Mensajes: 8
Antigüedad: 20 años, 10 meses
Puntos: 0
Problema al leer Matriz

Hola, estoy empezando con php y ya tengo un problema que no logro resolver.$
A ver si me podeis ayudar, he mirado en manuales, por internet y no logro solucionar este problema.

El problema es al crear una tabla con un matriz de 2 dimensiones pero que tiene más índices y valores en una de las matrices, me explico. Esta es la matriz..:

php]familias = array(
array('Carolina','Mariano', 'Paloma', 'Jose Miguel', 'Javier Luis', 'Raul', 'Jesus'),
array('Pedrito', 'Miguel', 'Cristina', 'Marcos', 'Careto'),
array('Carolina', 'Alejandro', 'Luna', 'Noel'));[/php]
El tema es que en el primer array al haber más índices que el segundo y el tercero cuando quiero recorrerlo me sale un feo efecto secundario y no se como quitarlo.., este es el script que he realizado:
Código PHP:
for ($celda=0; $celda<count($familias); $celda++)
{
    for (
$columna=0;  $columna<count($familias, COUNT_RECURSIVE); $columna++) //COUNT_RECURSIVE lee de forma recursiva
    
{
        echo 
' | '. $familias[$celda][$columna];
    }
    echo 
" <br />";
} 
Y lo que me sale es esto:

| Carolina | Mariano | Paloma | Jose Miguel | Javier Luis | Raul | Jesus | | | | | | | | | | | |
| Pedrito | Miguel | Cristina | Marcos | Careto | | | | | | | | | | | | | |
| Carolina | Alejandro | Luna | Noel | | | | | | | | | | | | | | |

Cuando lo que quiero que me salga es esto..:

| Carolina | Mariano | Paloma | Jose Miguel | Javier Luis | Raul | Jesus |
| Pedrito | Miguel | Cristina | Marcos | Careto |
| Carolina | Alejandro | Luna | Noel |

En cambio, si el array ofirinal...:

Código PHP:
familias = array(
                    array(
'Carolina','Mariano', 'Paloma', 'Jose Miguel', 'Javier Luis', 'Raul', 'Jesus'),
                    array(
'Pedrito', 'Miguel', 'Cristina', 'Marcos', 'Careto'),
                    array(
'Carolina', 'Alejandro', 'Luna', 'Noel')); 
Lo modifico así..:

Código PHP:
familias = array(
                    array(
'Carolina','Mariano', 'Paloma', 'Jose Miguel'),
                    array(
'Pedrito', 'Miguel', 'Cristina', 'Marcos'),
                    array(
'Carolina', 'Alejandro', 'Luna', 'Noel')); 
con este script..:

Código PHP:
for ($celda=0; $celda<count($familia2); $celda++)
{
    for (
$columna=0;  $columna < 4; $columna++)
    {
        echo 
' | '. $familias[$celda][$columna];
    }
    echo 
" | <br />";
} 
Me funciona perfectamente!!

Si me ayudaseis a saber cual es mi error o como solucionar el problema, espero vuestra ayuda, gracias