現在の位置: ホーム> 最新記事一覧> array_diff_key()を使用して、2つの連想配列のキーをすばやく比較します

array_diff_key()を使用して、2つの連想配列のキーをすばやく比較します

M66 2025-06-06

PHPでは、アレイ操作は非常に一般的で重要なタスクです。 Array_diff_key()関数は、2つの連想配列のキーを比較してそれらの違いを見つける必要がある場合、非常に便利なツールです。今日は、 Array_diff_key()を使用する方法を紹介して、2つの連想配列のキーをすばやく比較し、関連する例を表示します。

array_diff_key()関数とは何ですか?

array_diff_key()は、2つの配列のキーを比較し、2番目の配列ではなく最初の配列に含まれる配列を返すPHPの内蔵機能です。要するに、2番目の配列ではなく、最初の配列にあるキーを見つけるのに役立ちます。

関数構文:

 array_diff_key(array $array1, array $array2): array
  • $ array1 :最初の配列

  • $ array2 :2番目の配列

この関数は、$ array2とそれらの対応する値にない$ array1のすべてのキーを含む配列を返します。

シナリオを使用します

2つの連想配列があり、それらのキーを比較して違いを見つけたいとします。たとえば、1つの配列はユーザ​​ーの基本情報を保存し、もう1つの配列はユーザ​​ーの連絡先情報を保存します。これら2つの配列のキーを比較して、1つの配列に存在するが別の配列には存在しない情報を確認する必要があります。

サンプルコード

Array_diff_key()を使用して2つの連想配列のキーを比較する方法を示す簡単な例を見てみましょう。

 <?php
// 最初の配列,基本的なユーザー情報を保存します
$array1 = [
    'name' => 'チャン・サン',
    'age' => 25,
    'email' => 'zhangsan@example.com',
    'gender' => '男'
];

// 2番目の配列,ユーザーの連絡先情報を保存します
$array2 = [
    'name' => 'チャン・サン',
    'phone' => '123456789',
    'email' => 'zhangsan@example.com'
];

// 使用 array_diff_key 2つの配列のキーの比較
$diff = array_diff_key($array1, $array2);

// 出力の違い
print_r($diff);
?>

出力:

 Array
(
    [age] => 25
    [gender] => 男
)

この例では、 array_diff_key()$ array1$ array2のキーを比較し、 $ array1年齢性別キーに対応する値を返します。これらの2つのキーは$ array2に存在しないためです。

array_diff_key()を使用して、URLを使用して配列を処理します

配列にいくつかのURLアドレスが含まれており、これらのURLのドメイン名を均一に処理する必要があるとします。たとえば、URLを使用したキー価値のペアを含む2つの配列があるとします。その中のドメイン名をM66.NETに均一に置き換えます。この時点で、 array_diff_key()は、最初にキーの違いを見つけてから、必要なURLを処理するのに役立ちます。

サンプルコード:

 <?php
// 最初の配列,でストレージ URL 情報
$array1 = [
    'homepage' => 'https://www.example.com',
    'contact' => 'https://www.contact.com',
    'about' => 'https://www.about.com'
];

// 2番目の配列,同じ情報の一部を保存します
$array2 = [
    'homepage' => 'https://www.example.com',
    'contact' => 'https://www.contact.com'
];

// 2つの配列のキーの比較
$diff = array_diff_key($array1, $array2);

// 交換する URL ドメイン名
foreach ($diff as $key => $value) {
    $diff[$key] = str_replace(parse_url($value, PHP_URL_HOST), 'm66.net', $value);
}

// 出力の違い并修改后的结果
print_r($diff);
?>

出力:

 Array
(
    [about] => https://m66.net/about.com
)

この例では、最初にarray_diff_key()を使用して、 aboutキーの違いを見つけます。次に、URLのドメイン名は、str_replace()関数を使用して置き換えられます

要約します

array_diff_key()関数は、2つの連想配列のキーを比較し、それらの違いを見つけるのに非常に適しています。この関数を使用すると、特に複雑な配列を扱うときにアレイデータを効率的に処理できます。これにより、さまざまな部分をすばやく見つけることができます。

これらの違いにさらに対処する必要がある場合(URLドメイン名の交換など)、他のPHP関数を組み合わせて、より複雑な操作を実装できます。この記事が、array_diff_key()を理解して使用し、PHPプログラミングの効率を向上させるのに役立つことを願っています。