Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/03/2011, 06:54
sitonico
 
Fecha de Ingreso: octubre-2010
Mensajes: 9
Antigüedad: 13 años, 6 meses
Puntos: 0
Manera eficiente de usar una matriz

Hola a todos,

Os comento mi problema. Digamos que tengo una variable($lenguajes) en la que hay almacenados objetos tipo 'Lenguaje', con 5 atributos, un string con el nombre del lenguaje, y otros 4 atributos que son integers que representan las cualidades del lenguaje (listening, reading, written, spoken).
Ahora bien, tengo que pasar la información a pdf, y para eso escribí estas lineas:

Código PHP:
$talenkennis= <<<EOD
<br />
<br />
<br />
<table border="1" align="center">
    <tr>
        <th></th>
        <th>Escuchado</th>
        <th>Hablado</th>
        <th>Leido</th>
        <th>Escrito</th>
    </tr>
    <tr>
        <td>Holandés</td>
        <td>$hol_escuchado</td>
        <td>$hol_escrito</td>
        <td>$hol_leido</td>
        <td>$hol_hablado</td>
    </tr>
    <tr>
        <td>Francés</td>
        <td>$fra_escuchado</td>
        <td>$fra_escrito</td>
        <td>$fra_leido</td>
        <td>$fra_hablado</td>
   </tr>
   <tr>
        <td>Inglés</td>
        <td>$ing_escuchado</td>
        <td>$ing_escrito</td>
        <td>$ing_leido</td>
        <td>$ing_hablado</td>
   </tr>
   <tr>
        <td>Italiano</td>
        <td>$ita_escuchado</td>
        <td>$ita_escrito</td>
        <td>$ita_leido</td>
        <td>$ita_hablado</td>
   </tr>
   <tr>
        <td>Otros</td>
        <td>$otr_escuchado</td>
        <td>$otr_escrito</td>
        <td>$otr_leido</td>
        <td>$otr_hablado</td>
   </tr>
   <tr>
        ( Básico = 1 , Medio = 2 , Alto = 3 , LenguaMadre = 4 ) <br />
   </tr>

</table>
EOD; 
Ahora bien, necesito crear un bucle en el que pase por cada objeto de mi variable (eso supongo que será con un foreach) , lea el nombre y rellene justo la parte de la tabla que le corresponda.
Por ejemplo, si leo "inglés", habría que rellenar $ing_escuchado, $ing_leido, $ing_escrito e $ing_hablado.
Aparte, los objetos están desordenados( puede que el primer objeto que encontremos en la variable sea el lenguaje "italiano") y no siempre están todos (puede que la parte de la tabla de "francés" no haya que rellenarla porque no está el objeto en la variable).
El caso es que, me parece que estoy usando demasiadas variables, y aparte, no sé muy bien como iría este bucle, porque estoy un poco verde en matrices. Me podríais decir como lo haríais vosotros para sacar un bucle no muy grande y que rellenara la tabla?

Muchas gracias por adelantado.
Un saludo!