ホームページ > バックエンド開発 > PHPチュートリアル > 一意のキーを保持したまま PHP 連想配列をマージするにはどうすればよいですか?

一意のキーを保持したまま PHP 連想配列をマージするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-17 18:15:20
オリジナル
303 人が閲覧しました

How Can I Merge PHP Associative Arrays While Preserving Unique Keys?

一意のキーを使用した連想配列のマージ

PHP では、連想配列は文字列キーを使用して値にアクセスします。このような 2 つの配列をマージする場合、キーが重複すると元の値が失われる可能性があります。これを回避するには、配列を結合するときに元のキーを保持する必要があります。

次の例を考えてみましょう:

$array1 = [
    '11' => '11',
    '22' => '22',
    '33' => '33',
    '44' => '44'
];

$array2 = [
    '44' => '44',
    '55' => '55',
    '66' => '66',
    '77' => '77'
];
ログイン後にコピー

目標は、$array1 と $array2 を次のように結合することです。結果は元のキーを保持し、重複を削除します。その結果、次のようになります。

$output = [
    '11' => '11',
    '22' => '22',
    '33' => '33',
    '44' => '44',
    '55' => '55',
    '66' => '66',
    '77' => '77'
];
ログイン後にコピー

array_unique 関数を組み合わせて使用​​するarray_merge を使用すると、キーが再割り当てされるため、望ましい結果が得られません。より効率的なアプローチは、配列を結合するときに元のキーを保持する演算子を使用することです。

$output = $array1 + $array2;
ログイン後にコピー

この演算は、2 つの配列を効果的に結合し、重複する値を上書きします。あるいは、明示的にキーを再作成するには、次のコードを使用できます。

$output = array_combine($output, $output);
ログイン後にコピー

どちらの方法でも、元の値を保持しながら連想配列を一意のキーとマージする問題に対する解決策が提供されます。

以上が一意のキーを保持したまま PHP 連想配列をマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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