選択的出力のための配列反復の同期
PHP では、foreach ループは複数の配列を同時に反復する便利な手段を提供します。ただし、異なるサイズの配列を扱う場合、同期の問題が発生する可能性があります。
2 つの配列から選択ボックスを生成することを目的とした、前述のシナリオを考えてみましょう。1 つは国コード ($codes) で、もう 1 つは国コード ($codes) です。対応する国名 ($names) を付けます。 and キーワードを使用して両方の配列を同時に反復処理する最初のアプローチは間違っています。
適切な同期を行うには、両方の配列にアクセスするための一貫したインデックスを維持する必要があります。修正されたアプローチは次のとおりです。
foreach ($codes as $index => $code) { echo '<option value="' . $code . '">' . $names[$index] . '</option>'; }
このコードは、$index 変数を使用して、両方の配列の要素が同じインデックスでフェッチされるようにします。
もう 1 つの代替方法は、データを再構築することです。国コードを国名の連想配列のキーにします:
$names = [ 'tn' => 'Tunisia', 'us' => 'United States', ];
このアプローチでは、次を使用して国名に直接アクセスできます。対応する国コード:
foreach ($codes as $code) { echo '<option value="' . $code . '">' . $names[$code] . '</option>'; }
これらのメソッドを採用すると、配列の反復を同期し、目的のセレクト ボックス データを効果的に生成できます。
以上がPHP で配列の反復を同期して出力を選択する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。