検索
ホームページバックエンド開発PHPの問題PHP配列内の同じキー値を持つ要素を削除する方法

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 サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール