Tengo una matriz llamada memberList que se llena con una lista de miembros.

Ahora estoy tratando de usar PHP para recorrer la matriz y mostrarla en la página.

<tr class='d1'><td><p class='normal-text5'><?=$memberList[$x]?></p></td></tr>

Quería recorrerlo usando un bucle for, en lugar de tener que copiar / pegar el mismo código 100 veces, mostrando cada nombre.

for ($x = 0; $x <= 99; $x++) {
echo <tr class='d1'><td><p class='normal-text5'><?=$memberList[$x]?></p></td></tr>
}

Pero luego recordé que no puedes ejecutar código PHP en un Echo, así que me preguntaba cómo podría hacer esto de manera diferente.

0
AOD Saenai 23 feb. 2018 a las 07:56

4 respuestas

La mejor respuesta

El problema está en tu código

echo <tr class='d1'><td><p class='normal-text5'><?=$memberList[$x]?></p></td></tr>

Esto debería ser

echo "<tr class='d1'><td><p class='normal-text5'>".$memberList[$x]."</p></td></tr>";

Las declaraciones echo imprimen una cadena o variable. en caso de que tenga ambos, también necesita usar el operador concatenar. No puso ninguna comilla para las comillas ("html string") que deseaba imprimir ni concatenó esas cadenas.

Esta es la razón principal por la que no obtiene nada / error.

0
ahmednawazbutt 23 feb. 2018 a las 04:58

Debería considerar usar foreach para iterar sobre la matriz, por ejemplo:

foreach ($memberList as $key=>$member) {
  echo "<tr class='d1'><td><p class='normal-text5'>".$member."</p></td></tr>";
}
0
Anthony L 23 feb. 2018 a las 05:04

Prueba esto:

  <?php 
    for ($x = 0; $x <= 99; $x++) {
      echo "<tr class='d1'><td><p class='normal-text5'>".$memberList[$x]."
         </p</td>
      </tr>"
    }
  ?>
0
Kannan K 23 feb. 2018 a las 05:07

Intenta usar esto

<?php for ($i = 0; $i <= 99; $i++) { ?>  <!--for loop open-->
   <tr class='d1'>                       <!--HTML content-->
    <td>
        <p class='normal-text5'><?php echo $memberList[$i]?></p> <!--echo php variable/ perform any php operation -->
    </td>
  </tr>
<?php } ?>                              <!--for loop close-->
0
Tom Thomas Mullenkuzhy 23 feb. 2018 a las 05:06