ホームページ > バックエンド開発 > PHPチュートリアル > PHP で 2 つの配列を同時に効率的に反復するにはどうすればよいですか?

PHP で 2 つの配列を同時に効率的に反復するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-04 03:01:11
オリジナル
915 人が閲覧しました

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

2 つの配列を一度にループするにはどうすればよいですか? [重複]

問題


問題は、要素ごとに $data2 配列全体を反復する、ネストされた foreach ループにあります。 $data1 配列の。これにより、合計 $data1 * $data2 の反復が行われます。

Solutions


array_map() メソッド (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 メソッド (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 ループメソッド (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() メソッド (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() メソッド (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]);
ログイン後にコピー

以上がPHP で 2 つの配列を同時に効率的に反復するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート