Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich in PHP effizient zwei Arrays gleichzeitig durchlaufen?

Wie kann ich in PHP effizient zwei Arrays gleichzeitig durchlaufen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-04 03:01:111002Durchsuche

How Can I Efficiently Iterate Through Two Arrays Simultaneously in PHP?

Wie kann ich zwei Arrays gleichzeitig durchlaufen? [Duplikat]

Problem


Das Problem liegt in Ihrer verschachtelten foreach-Schleife, die für jedes Element das gesamte $data2-Array durchläuft des $data1-Arrays. Dies führt zu insgesamt $data1 * $data2 Iterationen.

Solutions


array_map() Methode (PHP >=5.3)

array_map(function($v1, $v2){
    echo $v1 . "<br>";
    echo $v2 . "<strong><br><br></strong>";
}, $data1, $data2 /* , Add more arrays if needed manually */);

MultipleIterator-Methode (PHP >=5.3)

$it = new MultipleIterator();
$it->attachIterator(new ArrayIterator($data1));
$it->attachIterator(new ArrayIterator($data2));
//Add more arrays if needed

foreach($it as $a) {
    echo $a[0] . "<br>";
    echo $a[1] . "<strong><br><br></strong>";
}

for-Schleifenmethode (PHP >=4.3)

$keysOne = array_keys($data1);
$keysTwo = array_keys($data2);

$min = min(count($data1), count($data2));

for($i = 0; $i < $min; $i++) {
    echo $data1[$keysOne[$i]] . "<br>";
    echo $data2[$keysTwo[$i]] . "<strong><br><br></strong>";
}

array_combine() Methode (PHP >=5.0)

foreach(array_combine($data1, $data2) as $d1 => $d2) {
    echo $d1 . "<br>";
    echo $d2 . "<strong><br><br></strong>";
}

< h3>call_user_func_array()-Methode (PHP >=5.6)

$func = function(...$numbers){
    foreach($numbers as $v)
        echo $v . "<br>";
    echo "<strong><br></strong>";
};
call_user_func_array("array_map", [$func, $data1, $data2]);

Das obige ist der detaillierte Inhalt vonWie kann ich in PHP effizient zwei Arrays gleichzeitig durchlaufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn