Hola! Te comento las cosas que tienes que corregir
$a= array('portero'=>'Frank','Defensa'=>'Pepe','Medio'=>'Luis','Delantero'=>'Raul');
Significaría que tenemos un array con $a['portero'], $a['Defensa'], $a['Medio'] y $a['Delantero']
$a= array (array('portero'=>'Frank','Defensa'=>'Pepe','Medio'=>'Luis','Delantero'=>'Raul'));
Significaría que tenemos un array con
$a[0]['portero'], $a[0]['Defensa'], $a[0]['Medio'] y $a[0]['Delantero']
En este último caso el planteamiento es: tenemos un array y cada uno de sus elementos es otro array
Para definir los componentes de equipos solo nos hacen falta dos niveles de anidamiento, uno para saber el equipo y otro para saber el puesto. Entonces la declaración no necesita tantos arrays, es suficiente con:
$a= array(
array('portero'=>'Frank','Defensa'=>'Pepe','Medio'=>'Luis','Delantero'=>'Raul'),
array('portero'=>'Tiger','Defensa'=>'Mouryn','Medio'=>'Kats','Delantero'=>'Alberto'),
array('portero'=>'Higuita','Defensa'=>'Mel','Medio'=>'Rubens','Delantero'=>'Messi'),
array('portero'=>'Kostenmeiner','Defensa'=>'Lenkins','Medio'=>'Marash','Delantero'=>'Juanes'),
array('portero'=>'Suarez','Defensa'=>'Koltz','Medio'=>'Fernandez','Delantero'=>'Ramirez')
);
Para acceder al segundo índice del array tienes que utilizar el índice asociativo, por ejemplo 'portero'. El índice numérico se usa si no existe índice asociativo.
El código quedaría (pongo varios ejemplos de recorrido con bucle, con for normal o con con for each):
<?php
$a= array(
array('portero'=>'Frank','Defensa'=>'Pepe','Medio'=>'Luis','Delantero'=>'Raul'),
array('portero'=>'Tiger','Defensa'=>'Mouryn','Medio'=>'Kats','Delantero'=>'Alberto'),
array('portero'=>'Higuita','Defensa'=>'Mel','Medio'=>'Rubens','Delantero'=>'Messi'),
array('portero'=>'Kostenmeiner','Defensa'=>'Lenkins','Medio'=>'Marash','Delantero'=>'Juanes'),
array('portero'=>'Suarez','Defensa'=>'Koltz','Medio'=>'Fernandez','Delantero'=>'Ramirez')
);
echo 'Comprobacion 1: <br/>';
for($i=0;$i<count($a);$i++)
{
echo 'Portero: '.$a[$i]['portero'];
echo ' Defensa: '.$a[$i]['Defensa'];
echo ' Medio: '.$a[$i]['Medio'];
echo ' Delantero: '.$a[$i]['Delantero'];
echo"<br/><br/>";
}
echo 'Comprobacion 2: <br/>';
foreach($a as $valor) {
echo 'Portero: ' . $valor['portero'] . '<br />';
echo 'Defensa: ' . $valor['Defensa'] . '<br />';
echo 'Medio: ' . $valor['Defensa'] . '<br />';
echo 'Delantero: ' . $valor['Defensa'] . '<br />';
echo '********* *******************<br/>';
}
echo 'Comprobacion 3: <br/>';
foreach($a as $key1=>$key2) {
foreach ($key2 as $key3=>$value) {
echo $key3 .' :'. $a[$key1][$key3] . ' o tambien podemos escribir '.$key3.':'.$value.'<br />';
}
echo '####### #############<br/>';
}
echo 'Probando '.$a; //$a es un array cuyos índices son 0,1, 2, 3, 4...
echo 'Probando '.$a[0]; // $a[0] es otro array cuyos índices son 'portero', 'Defensa', etc.
echo 'Probando '.$a[0][0]; // No es válido
echo 'Probando '.$a[0]['portero']; //Acceso a un elemento concreto
?>
?>