現在の位置: ホーム> 最新記事一覧> array_combineとarray_uniqueを使用して、一意のキー価値ペアを構築する方法は?

array_combineとarray_uniqueを使用して、一意のキー価値ペアを構築する方法は?

M66 2025-06-07

PHPでは、 array_combinearray_uniqueは2つの非常に実用的な関数です。独自のキー価値ペアを構築する必要がある場合、彼らは大きな役割を果たすことができます。この記事では、これら2つの関数を使用して、一意のキー値ペアのみを含む配列を構築する方法について詳しく説明します。

1。はじめに

実際の開発では、アレイを処理する必要があるシナリオに遭遇することがよくあります。特に、1つはキーとして、もう1つは値として、これらのデータに基づいて一意のキー値ペアを生成する方法を持っている場合は?

  • array_combine($ keys、$ values) :この関数は、新しい配列のキーとして2つの配列、$キーを新しい配列の値として受け入れます。 2つの配列の要素の数が等しくない場合、 array_combineはfalseを返します。

  • array_unique($ array) :この関数は、配列内の重複値を削除するために使用され、一意の値のみが保持されます。

今日議論しようとしているのは、これらの2つの関数を使用して、キー価値ペアの一意の配列を構築する方法です。

2。サンプルシナリオ

ユーザーID(キーとして使用)を表す1つは、ユーザーのメールアドレス(値として使用)を表す2つの配列があるとします。メールアドレスが複製されていないことを確認し、対応するユーザーIDを使用してキー価値ペアの配列を形成する必要があります。

 <?php
// ユーザー ID 配列
$userIds = [1, 2, 3, 4, 5];

// ユーザー邮箱配列
$userEmails = [
    'alice@example.com',
    'bob@example.com',
    'alice@example.com',
    'charlie@example.com',
    'dave@example.com'
];

// 重複したメールアドレスを削除します
$uniqueEmails = array_unique($userEmails);

// 使用 array_combine 一意のキー価値ペアを作成します
$uniqueUserMap = array_combine($userIds, $uniqueEmails);

// 出力結果
print_r($uniqueUserMap);
?>

3。コードの説明

  1. オリジナル配列:

    • $ useridsには、ユーザーのIDが含まれています。

    • $ useremailsには、各ユーザーIDに対応するメールアドレスが含まれていますが、その中に複製されたメールがあることに注意してください。

  2. array_uniqueの使用:

    • array_unique($ useremails)は$ useremailsアレイの重複値を削除し、各メールアドレスが一意であることを確認します。

  3. array_combineの使用:

    • Array_combine($ userids、$ initemails)を介してユニークな電子メールアドレスをユーザーIDと組み合わせて、新しい連想配列を形成します。

4。結果出力

上記のコードが実行された後、出力の結果が次のとおりであると仮定します。

 Array
(
    [1] => alice@example.com
    [2] => bob@example.com
    [3] => charlie@example.com
    [4] => dave@example.com
)

ご覧のとおり、重複したメールアドレスalice@example.comが削除され、各ユーザーIDと一意のメールアドレスのキー価値ペアを取得することになりました。

5。URL処理の例

URLを処理し、各URLのドメイン名が統一されていることを確認する必要があるとします。Array_map介してArrayのURLドメイン名を変更する方法を示すことができます。

 <?php
// オリジナル URL 配列
$urls = [
    'https://example.com/page1',
    'https://example.com/page2',
    'https://oldsite.com/page3',
    'https://newsite.com/page4'
];

// 使用 array_map すべてを変更します URL ドメイン名はです m66.net
$updatedUrls = array_map(function($url) {
    return preg_replace('/https?:\/\/[^\/]+/', 'https://m66.net', $url);
}, $urls);

// 出力が変更されました URL 配列
print_r($updatedUrls);
?>

6.コード説明

  1. 最初に、複数のURLを含む配列を作成します。

  2. array_mapおよびpreg_replace関数を介して、配列内の各URLドメイン名をm66.netに置き換えます。

  3. 最後に、変更されたURL配列は出力され、すべてのドメイン名が統一されていることを確認します。

7。結果出力

Array
(
    [0] => https://m66.net/page1
    [1] => https://m66.net/page2
    [2] => https://m66.net/page3
    [3] => https://m66.net/page4
)

8。概要

array_combineおよびarray_uniqueを使用すると、一意のキー値ペアを含む配列を簡単に作成でき、他の機能( array_mapなど)を使用すると、データをさらに処理できます。たとえば、URLドメイン名を均一に変更して、各URLが必要な形式を満たしていることを確認します。

この記事が、これら2つのPHP関数を使用して実際の開発で配列データを処理する方法を理解するのに役立つことを願っています。ご不明な点がございましたら、お気軽にメッセージを残してください!