Ich möchte in der Lage sein, beide Arrays gleichzeitig zu durchlaufen, damit ich einfache Vergleiche anstellen kann. Ich habe mir die Verwendung einer foreach-Schleife angesehen, aber ich kann die Informationen nur jeweils ein Array verarbeiten. Ich habe mir auch das Zusammenführen der Arrays angesehen, aber ich sehe keinen Nutzen darin, da ich sowohl die Schlüssel als auch die Werte benötige, um die Vergleiche durchzuführen. hat jemand eine Lösung für dieses Problem? Ich schätze Ihre Zeit im Voraus.
Um auf die Vergleiche genau zu sein, möchte ich etwas in diesem Umfang
Es ist wirklich ein bisschen überflüssig, aber ich sehe eine gewisse Schönheit darin.
das … ist einfach schön …
– Top-Fragen
5. Juli 2014 um 8:57 Uhr
Ich mag die Leistungsfähigkeit von SPL-Iteratoren sehr. Dies wird in der funktionalen Programmierung ‘zip’ genannt. Ich hoffe auf noch mehr tolle Iteratoren und Dienstprogramme in der Zukunft von PHP.
– xPheRe
13. August 2014 um 14:48 Uhr
Ich liebe die Code-Porno-Facette davon.
– Niels Keurentjes
23. März 2016 um 23:52 Uhr
mathematischer.kaffee
Wenn sie die gleichen Schlüssel haben, können Sie einfach die Schlüssel durchlaufen und sie verwenden, um die Arrays zu indizieren array_keys:
foreach(array_keys($array_one) as $key) {
// do something with $array_one[$key] and $array_two[$key]
}
Wenn Sie sich Sorgen machen, dass einige Schlüssel nicht vorhanden sind, können Sie versuchen (z. B.) array_key_exists($key,$array_two).
$array_one([a]=>2,[b]=>1,[c]=>1);
$array_two([a]=>1,[b]=>2,[c]=>1);
foreach($array_one as $array_one_key => $array_one_value) {
foreach($array_two as $array_two_key => $array_two_value) {
if ($array_one_key == $array_two_key && $array_two_value <= $array_one_value) {
print_r ($array_two);
}
}
}
Ich habe mir die Verwendung einer foreach-Schleife angesehen, aber ich kann die Informationen nur jeweils ein Array verarbeiten.
Wenn die Schlüssel in beiden Arrays gleich sind, können Sie foreach() verwenden:
foreach($array_one as $key => $value)
{
// do something to the first array
$array_one[$key] = doSomething($value);
// do something else to the second array
$array_two[$key] = doSomethingElse($array_two[$key]);
}
MJW
/* Make sure the array pointer is in the first position. */
reset($leftarray);
reset($rightarray);
/* Loop through the arrays. */
$i=0;
while ($i < $totalitems)
{echo current($leftarray)."<br>".
current($rightarray)."<br>";
next($leftarray);
next($rightarray);
$i=$i+1;
}
Wie möchten Sie diesen Vergleich verwenden?
– Fröhlich
7. Februar 2012 um 5:49 Uhr