valor obtener indice eliminar elementos elemento ejemplos buscar array agregar php arrays loops multiple-columns

obtener - Obtenga valores de matriz PHP e imprímalo en diferentes columnas



obtener el valor de un array php (4)

No necesita la matriz $names , puede simplemente generarla como la primera clave de matriz de nivel. Aquí hay un ejemplo que utiliza foreach() lugar de bucles numéricos for() para un código más limpio:

foreach($scores as $name => $values) { echo ''<tr><td>'' . $name . ''</td>'' . PHP_EOL; foreach($values as $val) { echo ''<td>'' . $val . ''</td>'' . PHP_EOL; } echo ''</tr>'' . PHP_EOL; }

Aquí tengo un bucle que contiene 5 nombres en una fila <table> . Esta table debe ser una clasificación en la que la primera columna muestre una fila de los nombres de los participantes y las otras 10 columnas muestren los puntajes.

Para las columnas vacías donde quiero agregar los números de puntuación, me gustaría crear una array para cada participante y hacer que pase por el <td> . En la array hay 10 números donde cada número debe mostrarse en cada <td> vacío a la izquierda.

//Names $names = array("Mike", "Kyle", "Johnny", "Will", "Vasques"); //scores values for each name $scores = array( "Mike" => array(04, 03, 00, 07, 04, 07, 00, 01, 00, 07, 04), "Kyle" => array(07, 01, 00, 03, 04, 01, 00, 07, 03, 04, 04), "Johnny" => array(07, 07, 00, 03, 00, 04, 00, 01, 01, 04, 03), "Will" => array(03, 04, 00, 03, 04, 07, 00, 01, 00, 07, 04), "Vasques" => array(03, 01, 00, 03, 04, 07, 00, 01, 00, 07, 07) ); //start loop for rows for($x=0; $x<count($names); $x++) { echo "<tr>"; //column for the names echo "<td>$names[$x]</td>"; //loop for columns where the score should be displayed for($td=2; $td<=10; $td++) { echo "<td></td>"; } echo "</tr>"; }

Debería mostrar algo como esto:

Mike 04 03 00 07 04 07 00 01 00 07 04 Kyle 07 01 00 03 04 01 00 07 03 04 04 Johnny 03 01 00 03 04 07 00 01 00 07 07

y así...


Prueba esto

echo "<table>"; foreach($scores as $key=>$value) { echo "<tr>"; echo "<td>$key</td>"; for($x=0; $x<count($value); $x++) { echo "<td>".sprintf(''%02d'', $value[$x])."</td>"; } echo "</tr>"; } echo "</table>";

Ejemplo de vista de código completo

<?php //Names $names = array("Mike", "Kyle", "Johnny", "Will", "Vasques"); //scores values for each name $scores = array( "Mike" => array(04, 03, 00, ''-'', ''-'', ''-'', ''-'', ''-'', ''-'', 07, 04), "Kyle" => array(07, 01, 00, 03, 04, 01, 00, 07, 03, 04, 04), "Johnny" => array(07, 07, 00, 03, 00, 04, 00, 01, 01, 04, 03), "Will" => array(03, 04, 00, 03, 04, 07, 00, 01, 00, 07, 04), "Vasques" => array(03, 01, 00, 03, 04, 07, 00, 01, 00, 07, 07) ); echo "<table>"; foreach($scores as $key=>$value) { echo "<tr>"; echo "<td>$key</td>"; for($x=0; $x<count($value); $x++) { if (is_numeric($value[$x])) { echo "<td>".sprintf(''%02d'', $value[$x])."</td>"; } else { echo "<td>". $value[$x]."</td>"; } } echo "</tr>"; } echo "</table>";

Salida

Mike 04 03 00 - - - - - - 07 04 Kyle 07 01 00 03 04 01 00 07 03 04 04 Johnny 07 07 00 03 00 04 00 01 01 04 03 Will 03 04 00 03 04 07 00 01 00 07 04 Vasques 03 01 00 03 04 07 00 01 00 07 07


<?php foreach($names as $name) { echo "<tr>"; echo "<td>$name</td>"; foreach($scores[$name] as $nmscore) { echo "<td>$nmscore</td>"; } echo "</tr>"; } ?>


<?php foreach($names as $names) { echo "<tr>"; echo "<td>$names</td>"; foreach($scores[$names] as $nmscore) { echo "<td>$nmscore</td>"; } echo "</tr>"; }

?>