Ordenar en bucles foreach [duplicado]
Frecuentes
Visto 350 veces
0
<?php
$array = array(array("aaa1", "aaa2", "aaa3", "aaa4"),
array("bbb1", "bbb2", "bbb3", "bbb4"),
array("ccc1", "ccc2", "ccc3", "ccc4"),
array("ddd1", "ddd2", "ddd3", "ddd4"));
?>
<table border="2">
<?php
foreach($array as $arr): ?>
<tr>
<?php foreach($arr as $a):
echo "<td>" . $a . "</td>";
endforeach; ?>
</tr>
<?php endforeach;
?>
</table>
Esto me muestra:
aaa1 aaa2 aaa3 aaa4
bbb1 bbb2 bbb3 bbb4
ccc1 ccc2 ccc3 ccc4
ddd1 ddd2 ddd3 ddd4
Me gustaría recibir:
aaa1 bbb1 ccc1 ddd1
aaa2 bbb2 ccc2 ddd2
aaa3 bbb3 ccc3 ddd3
aaa4 bbb4 ccc4 ddd4
Pero debo usar FOREACH, no FOR. Si esto es más fácil, puedo usar DIV, pero ¿cómo?
¿Cómo puedo hacerlo?
2 Respuestas
3
foreach(array_keys($array[0]) as $key) {
echo "<tr>";
foreach($array as $arr) {
echo "<td>".$arr[$key]."</td>";
}
echo "</tr>";
}
Aunque, estarías mejor con for
...
Respondido el 12 de junio de 12 a las 20:06
1
Si usar DIV es una opción:
<?php
$array = array(
array("aaa1", "aaa2", "aaa3", "aaa4"),
array("bbb1", "bbb2", "bbb3", "bbb4"),
array("ccc1", "ccc2", "ccc3", "ccc4"),
array("ddd1", "ddd2", "ddd3", "ddd4")
);
foreach($array as $abcd) {
?><div style="float: left;"><?php
foreach($abcd as $oneTwoThree) {
?><div><?php
echo $oneTwoThree;
?></div><?php
}
?></div><?php
}
?>
<div style="clear: both;"></div>
Respondido el 12 de junio de 12 a las 20:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas php foreach or haz tu propia pregunta.
¿Por qué debe usar un
foreach
? - afuzzyllama¿Es esta tarea por casualidad? - Madara's Ghost
En lugar de foreach, prueba algo increíblemente decente como [esto][1]. [1]: stackoverflow.com/questions/797251/… - Andrius Naruševičius