現在の位置: ホーム> 最新記事一覧> array_diff_assoc()を使用して、2つのフォーム入力配列の違いを見つけます

array_diff_assoc()を使用して、2つのフォーム入力配列の違いを見つけます

M66 2025-06-06

PHPでは、 array_diff_assoc()は、2つの配列を比較して違いを返す非常に便利な配列関数です。具体的には、2つの配列のキー値のペアを比較し、2番目の配列とは異なるキー値ペアを最初の配列で返します。 2つのフォーム入力配列の違いを比較する必要がある場合、 array_diff_assoc()は役に立つことがあります。

2つのフォーム入力配列があり、ユーザー入力値とデフォルト値の違いを確認するとします。ここでは、簡単な例を使用して、 array_diff_assoc()を使用してこの関数を実装する方法を示します。

例1:2つのフォーム入力配列間の違いの比較

ユーザーがフォームに記入し、データが次のようになるとします。

 $form_input = array(
    'name' => 'John',
    'email' => 'john.doe@example.com',
    'age' => 25
);

$default_values = array(
    'name' => 'Jane',
    'email' => 'jane.doe@m66.net',
    'age' => 30
);

$ form_inputアレイと$ default_values配列を比較して、それらの違いを確認します。

サンプルコード

<?php
$form_input = array(
    'name' => 'John',
    'email' => 'john.doe@example.com',
    'age' => 25
);

$default_values = array(
    'name' => 'Jane',
    'email' => 'jane.doe@m66.net',  // ドメイン名をに置き換えます m66.net
    'age' => 30
);

// 使用 array_diff_assoc() 2つの配列の比較
$differences = array_diff_assoc($form_input, $default_values);

// 出力の違い
echo "フォーム入力とデフォルト値の違い:\n";
print_r($differences);
?>

コード説明

  1. array_diff_assoc() :この関数は、2番目の配列(つまり$ default_values )とは異なるキー値ペア(つまり$ form_input )を返します。違いは、値を比較するだけでなく、キーを比較することです。

  2. 出力:上記のコードでは、 $ form_input$ default_valuesアレイの違いは次のとおりです。

    • ユーザーが入力した名前は、デフォルト値とは異なります。

    • ユーザーが入力した電子メールドメイン名は、デフォルトの電子メールドメイン名とも異なります。

    • ユーザーの入力年齢は、デフォルト値とは異なります。

サンプル出力

フォーム入力とデフォルト値の違い:
Array
(
    [name] => John
    [email] => john.doe@example.com
    [age] => 25
)

説明する

array_diff_assoc() $ default_valuesとは異なる$ form_inputですべての要素を返します。したがって、出力の名前電子メール、および年齢はすべて異なる要素です。

シナリオを使用します

実際の開発では、ユーザーが送信されたフォームを処理するときに、ユーザーが記入したデータとデフォルト値の違いを比較する必要がある場合があります。現時点では、 array_diff_assoc()は非常に便利です。たとえば、それを使用して、変更されていないユーザーによって変更されたフィールドを確認したり、値を変更したフィールドを計算したりできます。

要約します

array_diff_assoc()は、2つの配列のキー値ペアの違いを比較するのに役立つシンプルだが強力なPHP関数です。この関数を通じて、ユーザー入力値とデフォルト値の違いを簡単に識別できます。これは、フォームデータの処理、検証、比較に重要な役割を果たします。