[Ir al menú de PHP]
Arrays bidimensionales...

Arrays bidimensionales

Un array bidimensional recoge valores de una tabla de doble entrada. Cada uno de los elementos se identifica y se asigna mediante una variable ($nombre) seguida de dos ([]) que contienen los índices del array.

Los índices puede ser escalares -equivaldrían al número de fila y columna que la celda ocuparía en la tabla, o puede ser asociativo que equivaldría en alguna medida a usar como indices los nombres de la fila y de la columna.

¡Atención!
No dejes de tomar en consideración lo que te advertí cuando te hablé de arrays unidimensionales. También aquí los arrays escalares empiezan a numerar a partir de CERO.

Arrays escalares

Los elementos de un array bidimensional escalar puede escribirse usando la siguiente sintaxis:

$a[][]=valor
ó
$a[xx][]=valor
ó también
$a[][xx]=valor
ó
$a[xx][yy]=valor

En el primero de los casos, PHP asigna automáticamente como primer índice el valor siguiente al último asignado a ese mismo indice. Si es el primero que se define, le pondrá como índice 0 (CERO).
Con la sintaxis del primer supuesto, al segundo índice le asignará cero ya que es en este mismo momento cuando se habrá creado el primer índice y por tanto aún carecerá de elementos.

En el segundo de los casos, si somos nosotros quienes asignamos valor al primer índice (xx) será el segundo quien se incremente en una unidad respecto al de valor más alto de todos aquellos cuyo primer índice coincide con el especificado.
La tercera opción es similar a la anterior y en la cuarta se pueden asignar libremente cada uno de los índices (xx e yy) poniendo valores numéricos.

Arrays asociativos

Los elementos de un array asociativo puede escribirse usando la siguiente sintaxis:

$a["indice1"]["indice2"]=valor

En este caso, los índice serán cadenas y se escribirán entre comillas.


 
 


Arrays bidimensionales...

Aquí vamos a insertar un array bidimensional con los resultados de una liga de fútbol en la que intervienen cinco equipos que como en toda liga que se precie juegan a doble partido.

En este primer ejemplo utilizaremos arrays escalares, por lo tanto los equipos serán identenficados con números... desde cero hasta cuatro...


<? 
#rellenamos el array desde [0][0] hasta [0][4]
$a[][]=" ";$a[0][]="3-2";$a[0][]="5-3";$a[0][]="7-1";$a[0][]="0-2";

#ahora desde [1][0] hasta [1][4]
$a[][]="0-11";$a[1][]=" ";$a[1][]="2-1";$a[1][]="1-0";$a[1][]="1-2";

#ahora desde [2][0] hasta [4][4]
$a[][]="0-0";$a[2][]="1-3";$a[2][]=" ";$a[2][]="1-4";$a[2][]="2-0";
$a[][]="1-0";$a[3][]="6-3";$a[3][]="14-3 ";$a[3][]=" ";$a[3][]="1-0";
$a[][]="1-1";$a[4][]="2-3";$a[4][]="0-1 ";$a[4][]="1-1";$a[3][]="";
?>

Utilizando los valores de este array hemos construido la tabla...

Todos los resultados de la liguilla
Indice 0 1 2 3 4
0   3-2 5-3 7-1 0-2
1 0-11   2-1 1-0 1-2
2 0-0 1-3   1-4 2-0
3 1-0 6-3 14-3   1-0
4 1-1 2-3 0-1 1-1  


También se puede construir la misma tabla usando arrays asociativos. En este ejemplo hemos puesto como cadenas para identificar los elementos del array... los nombres de los clubes...


<?
# resultado de los encuentros en los que el Juvencia es local

$b["Juvencia"]["Juvencia"]=" ";$b["Juvencia"]["Mosconia"]="3-2";
$b["Juvencia"]["Canicas"]="5-3";$b["Juvencia"]["Condal"]="7-1";
$b["Juvencia"]["Piloñesa"]="0-2";

# resultado de los encuentros en los que el Mosconia es local

$b["Mosconia"]["Juvencia"]="0-11";$b["Mosconia"]["Mosconia"]=" ";
$b["Mosconia"]["Canicas"]="2-1";$b["Mosconia"]["Condal"]="1-0";
$b["Mosconia"]["Piloñesa"]="1-2";
# resultado de los encuentros en los que el Canicas es local

$b["Canicas"]["Juvencia"]="0-0";$b["Canicas"]["Mosconia"]="1-3";
$b["Canicas"]["Canicas"]=" ";$b["Canicas"]["Condal"]="1-4";
$b["Canicas"]["Piloñesa"]="2-0";

# resultado de los encuentros en los que el Condal es local

$b["Condal"]["Juvencia"]="1-0";$b["Condal"]["Mosconia"]="6-3";
$b["Condal"]["Canicas"]="14-3 ";$b["Condal"]["Condal"]=" ";
$b["Condal"]["Piloñesa"]="1-0";

# resultado de los encuentros en los que la Piloñesa es local

$b["Piloñesa"]["Juvencia"]="1-1";$b["Piloñesa"]["Mosconia"]="2-3";
$b["Piloñesa"]["Canicas"]="0-1 ";$b["Piloñesa"]["Condal"]="1-1";
$b["Piloñesa"]["Piloñesa"]=" ";
?>


Como puedes observar, hemos construido una tabla idéntica a la anterior... solo que en este caso utilizando arrays asociativos...

Resultados de la liguilla
Indice Juvencia Mosconia Canicas Condal Piloñesa
Juvencia   3-2 5-3 7-1 0-2
Mosconia 0-11   2-1 1-0 1-2
Canicas 0-0 1-3   1-4 2-0
Condal 1-0 6-3 14-3   1-0
Piloñesa 1-1 2-3 0-1 1-1  


Sugerir a un/a amig@ Envíame tus comentarios
Anterior
Indice
Siguiente