ホームページ  >  記事  >  バックエンド開発  >  PHP 配列から重複を削除する一般的な方法について話しましょう

PHP 配列から重複を削除する一般的な方法について話しましょう

PHPz
PHPzオリジナル
2023-04-19 11:39:01573ブラウズ

PHP では、配列の重複排除は一般的な操作です。配列内には重複した要素が存在する可能性があるため、重複排除操作により、配列内のすべての異なる要素を明確に取得できます。以下に、一般的に使用される配列の重複排除方法をいくつか紹介します。

1. array_unique 関数を使用する

array_unique 関数は、PHP に付属する 1 ステップの重複排除関数です。その機能は、配列から重複した値を削除し、新しい配列を返すことです。

サンプルコード:

$array = array('apple', 'orange', 'banana', 'apple', 'orange');
$new_array = array_unique($array);
print_r($new_array);

出力結果:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)

2. ループトラバーサルの使用

array_unique 関数に加えて、ループトラバーサルも使用できます。配列の重複排除を実現する方法。具体的な実装方法は、まず空の配列を作成し、元の配列の要素をループして新しい配列に要素がすでに存在するかどうかを確認し、存在しない場合はその要素を新しい配列に追加します。最後に、この新しい配列を返します。

サンプルコード:

$array = array('apple', 'orange', 'banana', 'apple', 'orange');
$new_array = array();
foreach($array as $value){
    if(!in_array($value, $new_array)){
        $new_array[] = $value;
    }
}
print_r($new_array);

出力結果:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)

3. array_flip 関数と array_keys 関数を使用する

もう 1 つの方法は、array_flip 関数と array_keys 関数を使用することです。 array_flip 関数は配列内のキーと値を反転でき、array_keys 関数は配列内のすべてのキーのリストを返すことができます。したがって、最初に array_flip 関数を使用して値をキーとして使用し、次に array_keys 関数を使用してこれらのキーを取得し、最終的に重複排除された配列が得られます。

サンプル コード:

$array = array('apple', 'orange', 'banana', 'apple', 'orange');
$new_array = array_keys(array_flip($array));
print_r($new_array);

出力結果:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)

4. array_filter 関数を使用する

最後の方法は、array_filter 関数を使用することです。 array_filter 関数は、指定されたコールバック関数を使用して配列内の各要素をフィルターし、最終的にフィルターされた配列を返します。具体的な実装方法は、まず無名関数をコールバック関数として定義し、フィルタリング時にこの関数をarray_filter関数にパラメータとして渡します。

サンプル コード:

$array = array('apple', 'orange', 'banana', 'apple', 'orange');
$new_array = array_filter($array, function($value, $key){
    static $unique = array();
    if(!in_array($value, $unique)){
        $unique[] = $value;
        return true;
    }
    return false;
}, ARRAY_FILTER_USE_BOTH);
print_r($new_array);

出力結果:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)

上記は、PHP 配列の重複排除によく使用される 4 つの方法です。特定の状況に応じて、アレイの重複排除を実現するためのさまざまな方法を柔軟に選択して、より良い結果を得ることができます。

以上がPHP 配列から重複を削除する一般的な方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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