La lingua è PHP. Ho uno foreach ($ a come $ b) e un altro foreach ($ c come $ d => $ e). Come faccio a combinarli per leggere come uno. Mi sono stancato foreach (($ a as $ b) & & ($ c come $ d => $ e)), ma questa è spazzatura.Come si combinano due cicli foreach in uno
6
A
risposta
0
Questo farà quello che vuoi, penso. Avanzerà entrambi gli array allo stesso tempo durante il ciclo. Si può sempre break
manualmente se $c
è una dimensione diversa rispetto $a
ed è necessario logica di rottura in base alle dimensioni array:
foreach($a as $b)
{
list($d,$e) = each($c);
//continue on with $b, $d and $e all set
}
each()
avanzerà il puntatore del $c
ad ogni iterazione.
3
Non capisco cosa stai cercando di fare. Se si vuole raggiungere uno dopo l'altro basta usare due loop:
foreach ($a as $b) { ... }
foreach ($c as $d => $e) { ... }
Se si desidera che tutte le combinazioni da $a
e $c
:
foreach ($a as $b) {
foreach ($c as $d => $e) {
// do stuff
}
}
Credo che si potrebbe fare qualcosa di simile:
foreach (array_merge($a, $c) as $k => $v) {
...
}
ma non lo consiglierei necessariamente.
22
Potreste essere interessati a SPL's MultipleIterator
esempio
// 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";
}
stampe
1 | 11
2 | 12
3 | 13
4 | 14
5 | 15
6 | 16
7
1) primo metodo
<?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) secondo metodo
<?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/>";
}
?>
Problemi correlati
- 1. Come si combinano due oggetti in Javascript?
- 2. Come si combinano due repository git?
- 3. R: come si uniscono/combinano due ambienti?
- 4. Come interrompere più cicli foreach?
- 5. Come si combinano due elenchi in un dizionario in Python?
- 6. Come si combinano due vettori di lunghezza diversa in R
- 7. come limitare ciclo foreach per tre cicli
- 8. Come si combinano due query Lucene utilizzando OR?
- 9. Come si combinano le monadi in Haskell?
- 10. Come sommare i valori all'interno di cicli foreach annidati?
- 11. Come si combinano le espressioni LINQ in una?
- 12. cicli foreach nidificati in R per aggiornare l'array comune
- 13. Come si "combinano le variabili" in JavaScript per soddisfare JSLint?
- 14. pausa di due cicli for
- 15. Generazione di ID all'interno di Knockout Cicli Foreach
- 16. Python combinare due cicli for
- 17. Come si combinano i dati di due tabelle separate in un singolo cursore?
- 18. Come si combinano due colonne all'interno di un dataframe in Pandas?
- 19. Come si combinano due elementi di array numpy wise in python?
- 20. evitare due cicli for in R
- 21. Come si combinano i valori hash in C++ 0x?
- 22. Come si usa foreach in fputcsv?
- 23. Come si verificano due condizioni in uno <c:if>?
- 24. Ciclo Java foreach con due array
- 25. Come si combinano set di risultati da due chiamate di stored procedure?
- 26. Utilizzo di source() all'interno di cicli foreach paralleli
- 27. Come rimuovere il valore di nan mentre si combinano due colonne nel frame di Panda Data?
- 28. i panda combinano due stringhe ignorano i valori nan
- 29. prestazioni di spezzarsi un loop in due cicli
- 30. outptut due oggetti utilizzando foreach
Questo è il più interessante pace del codice che ho visto oggi. Più uno per quello. Gli array devono essere di uguale lunghezza, o si smette di iterare su uno solo di essi ad un certo punto? –
Dipende dal fatto che si imposti il flag MultipleIterator :: MIT_NEED_ANY o MultipleIterator :: MIT_NEED_ALL. Con MIT_NEED_ALL l'iteratore si arresta se uno qualsiasi degli iteratori interni non ha più elementi. Con MIT_NEED_ANY l'iteratore continua fintanto che almeno un iteratore interno ha un altro elemento, tutti gli altri elementi diventano NULL. MIT_NEED_ALL è il valore predefinito. – VolkerK
Grazie per le informazioni, molto bello! –