PHP配列内の同じキー値を持つ要素を削除する方法

PHPz
リリース: 2023-03-23 17:26:01
オリジナル
1470 人が閲覧しました

PHP は、配列を操作するためのさまざまな配列関数を提供する強力なプログラミング言語です。 PHP は、配列から同じキー値を持つ要素を削除する必要がある場合に、多くのソリューションを提供します。この記事では、同じキー値を持つ要素を削除する一般的な方法をいくつか紹介します。

方法 1: array_unique() 関数を使用する

array_unique() 関数は、配列から重複する値を削除し、すべてのキー名が残っている新しい配列を返すことができます。絶え間ない。以下は、array_unique() 関数を使用して要素を削除するサンプル コードです。

$old_array = array("one" => 1, "two" => 2, "three" => 3, "four" => 2);
$new_array = array_unique($old_array);
print_r($new_array);
ログイン後にコピー

上記のコードでは、元の配列には 4 つの要素が含まれており、そのうち 2 つは同じキー値を持っています。 array_unique() 関数は、配列から重複した要素を削除し、新しい配列を返します。出力結果は次のとおりです。

Array
(
    [one] => 1
    [two] => 2
    [three] => 3
)
ログイン後にコピー
ログイン後にコピー

方法 2: array_filter() 関数を使用する

array_filter() 関数は、配列内の要素をフィルターして新しい配列を返すことができます。特定の条件を満たす要素のみが含まれます。以下は、array_filter() 関数を使用して要素を削除するサンプル コードです。

$old_array = array("one" => 1, "two" => 2, "three" => 3, "four" => 2);
$new_array = array_filter($old_array, function($value, $key) use ($old_array) {
    return count(array_keys($old_array, $value)) == 1;
}, ARRAY_FILTER_USE_BOTH);
print_r($new_array);
ログイン後にコピー

上記のコードでは、無名関数を使用してフィルター条件を定義します。この関数は、各要素の値とキーを比較して、それが 1 回だけ出現するかどうかを確認します。存在する場合は true を返し、そうでない場合は false を返します。最終的な出力結果は次のとおりです。

Array
(
    [one] => 1
    [three] => 3
)
ログイン後にコピー

方法 3: array_diff_key() 関数を使用する

array_diff_key() 関数は、2 つの配列のキー名を比較し、 first 配列内の異なるキー名に対応する要素。以下は、array_diff_key() 関数を使用して要素を削除するサンプル コードです。

$old_array = array("one" => 1, "two" => 2, "three" => 3, "four" => 2);
$new_array = array_diff_key($old_array, array_unique($old_array));
print_r($new_array);
ログイン後にコピー

上記のコードでは、まず array_unique() 関数を使用して配列内の重複要素を削除し、その結果を 2 番目のパラメータとして渡します。 ) 関数。最終的な出力は次のとおりです。

Array
(
    [two] => 2
)
ログイン後にコピー

方法 4: カスタム関数を使用する

上記の方法が特定のユースケースで機能しない場合は、同じキー値を持つ要素を削除するカスタム関数。以下は、カスタム関数を使用して要素を削除するサンプル コードです。

function delete_duplicate_elements($array) {
    $result = array();
    foreach($array as $key => $value) {
        if(!in_array($value, $result)) {
            $result[$key] = $value;
        }
    }
    return $result;
}
$old_array = array("one" => 1, "two" => 2, "three" => 3, "four" => 2);
$new_array = delete_duplicate_elements($old_array);
print_r($new_array);
ログイン後にコピー

上記のコードでは、カスタム関数は in_array() 関数を使用して、要素が結果配列に既に存在するかどうかを確認します。存在しない場合、要素は結果の配列に追加されます。最終的な出力は次のとおりです。

Array
(
    [one] => 1
    [two] => 2
    [three] => 3
)
ログイン後にコピー
ログイン後にコピー

結論

PHP には、同じキー値を持つ配列要素を削除するためのさまざまな組み込み関数とメソッドが用意されています。ニーズに応じて、自分に合った方法を選択し、プロジェクトで使用できます。この記事が、PHP での配列の操作の向上に役立つことを願っています。

以上がPHP配列内の同じキー値を持つ要素を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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