El idioma es PHP. Tengo un foreach ($ a as $ b) y otro foreach ($ c as $ d => $ e). ¿Cómo los combino para leer como uno solo? Me cansé de foreach (($ a as $ b) & & ($ c como $ d => $ e)), pero eso es basura.Cómo se combinan dos bucles foreach en uno
6
A
Respuesta
0
Esto hará lo que quieras, creo. Se avanzará en ambas matrices por igual al mismo tiempo a lo largo de su ciclo. Siempre se puede break
$c
manualmente si es un tamaño diferente al $a
y lo que necesita la lógica de ruptura basado en tamaño de la matriz:
foreach($a as $b)
{
list($d,$e) = each($c);
//continue on with $b, $d and $e all set
}
each()
hará avanzar el puntero de la lista de $c
en cada iteración.
3
No entiendo lo que estás tratando de hacer. Si desea llegar a ellos uno tras otro sólo tiene que utilizar dos bucles:
foreach ($a as $b) { ... }
foreach ($c as $d => $e) { ... }
si desea que todas las combinaciones de $a
y $c
:
foreach ($a as $b) {
foreach ($c as $d => $e) {
// do stuff
}
}
supongo que se podría hacer algo como:
foreach (array_merge($a, $c) as $k => $v) {
...
}
pero no necesariamente lo aconsejaría.
22
Usted puede estar interesado en SPL's MultipleIterator
por ejemplo,
// ArrayIterator is just an example, could be any Iterator.
$a1 = new ArrayIterator(array(1, 2, 3, 4, 5, 6));
$a2 = new ArrayIterator(array(11, 12, 13, 14, 15, 16));
$it = new MultipleIterator;
$it->attachIterator($a1);
$it->attachIterator($a2);
foreach($it as $e) {
echo $e[0], ' | ', $e[1], "\n";
}
impresiones
1 | 11
2 | 12
3 | 13
4 | 14
5 | 15
6 | 16
7
1) Primer método
<?php
$FirstArray = array('a', 'b', 'c', 'd');
$SecondArray = array('1', '2', '3', '4');
foreach(array_combine($FirstArray, $SecondArray) as $f => $n) {
echo $f.$n;
echo "<br/>";
}
?>
o 2) Segundo método
<?php
$FirstArray = array('a', 'b', 'c', 'd');
$SecondArray = array('1', '2', '3', '4');
for ($index = 0 ; $index < count($FirstArray); $index ++) {
echo $FirstArray[$index] . $SecondArray[$index];
echo "<br/>";
}
?>
Cuestiones relacionadas
- 1. Python combinan dos bucles for
- 2. ¿Cómo se combinan dos objetos en Javascript?
- 3. ¿Cómo se combinan dos repositorios git?
- 4. PHP bucles Foreach
- 5. cómo limitar bucle foreach a tres bucles
- 6. ¿Cómo puedo contar los bucles en mvc3 en @foreach
- 7. Cómo agregar contador de bucles a foreach en csh
- 8. evitar dos bucles en I
- 9. consultas MySQL vs php foreach múltiple bucles
- 10. ¿Raíles que combinan dos matrices de hashes?
- 11. ¿Se combinan dos mónadas cuando ninguno tiene un transformador?
- 12. romper dos bucles for
- 13. ¿Cómo se combinan los archivos PDF en rubí?
- 14. métodos en foreach y para bucles en java
- 15. python: salir de dos bucles
- 16. Cómo salir de dos bucles anidados
- 17. ¿Puedo iterar a través de dos bucles de igual tamaño con foreach?
- 18. Cómo se combinan las condiciones de filtro
- 19. ¿Cómo se combinan múltiples conjuntos de resultados en SSRS?
- 20. Impresión de una matriz multidimensional utilizando bucles Foreach única
- 21. DataTable - foreach Fila, EXCEPTO PRIMERO UNO
- 22. ¿Cómo se combinan los patrones con múltiples valores en Scala?
- 23. La parte de ruta se sobrescribe cuando se combinan dos URI
- 24. ¿Cómo rompo un bucle externo de uno interno en Perl?
- 25. LINQ + Foreach vs Foreach + Si
- 26. cómo evitar bucles
- 27. Combinación de dos objetos JSON en uno
- 28. Android - dos frases, dos estilos, uno TextView
- 29. Se requieren dos cuadros de texto, uno o ambos
- 30. Solicite dos NSMutableArrays basados en uno
Esa es la paz más interesante de código que he visto hoy. Más uno para eso ¿Las matrices TIENEN que ser de la misma longitud, o dejas de iterar en solo una de ellas en algún momento? –
Eso depende de si configura el indicador MultipleIterator :: MIT_NEED_ANY o MultipleIterator :: MIT_NEED_ALL. Con MIT_NEED_ALL, el iterador se detiene si alguno de los iteradores internos no tiene más elementos. Con MIT_NEED_ANY el iterador continúa siempre que al menos un iterador interno tenga otro elemento, todos los demás elementos se vuelven NULL. MIT_NEED_ALL es el valor predeterminado. – VolkerK
Gracias por la información, ¡genial! –