ホームページ > バックエンド開発 > PHPの問題 > PHP は同じ配列を削除します

PHP は同じ配列を削除します

PHPz
リリース: 2023-05-11 09:47:36
オリジナル
502 人が閲覧しました

PHP で開発する場合、通常、配列を操作する必要がありますが、よくある問題の 1 つは、配列内の同じ要素をどのように削除するかということです。同じ要素がデータの統計と処理に影響を与えるため、通常のデータ分析を実行する前に重複を削除する必要があります。しかし、配列から同一の要素を削除するにはどうすればよいでしょうか?この記事では、この問題を解決するためのいくつかの方法を紹介します。

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

array_unique() 関数は PHP の組み込み関数であり、配列から重複要素を削除するために使用されます。この関数は、元の配列内のすべての個別の値を含む新しい配列を返します。以下は例です:

// 定义一个有重复元素的数组
$array = array(1, 2, 2, 3, 4, 4, 5);

// 使用array_unique()函数去重
$new_array = array_unique($array);

// 输出结果
print_r($new_array);
ログイン後にコピー

上記のコードを実行すると、次の結果が出力されます:

Array
(
    [0] => 1
    [1] => 2
    [3] => 3
    [4] => 4
    [6] => 5
)
ログイン後にコピー

ご覧のとおり、array_unique() 関数は重複する要素をすべて削除し、新しい array を返します。

方法 2: PHP の array_flip() 関数と array_keys() 関数を使用する

重複を削除するもう 1 つの方法は、array_flip() 関数と array_keys() 関数を使用することです。 array_flip() 関数は配列内のキーと値を交換でき、array_keys() 関数は配列内のすべてのキーの値を返すことができます。したがって、これら 2 つの関数を使用して、配列から重複要素を削除できます。以下に例を示します。

// 定义一个有重复元素的数组
$array = array(1, 2, 2, 3, 4, 4, 5);

// 使用array_flip()和array_keys()函数去重
$new_array = array_keys(array_flip($array));

// 输出结果
print_r($new_array);
ログイン後にコピー

上記のコードを実行すると、前の例と同じ結果が得られます。

方法 3: ループ比較を使用する

組み込み関数を使用するだけでなく、ループ比較を使用して重複を削除することもできます。このメソッドの原理は、配列内の各要素を走査し、配列内の以前のすべての要素と比較し、前の要素と同じ場合はスキップし、そうでない場合は新しい配列に追加します。以下に例を示します。

// 定义一个有重复元素的数组
$array = array(1, 2, 2, 3, 4, 4, 5);

// 使用循环对比的方法去重
$new_array = array();
foreach($array as $item) {
    if(!in_array($item, $new_array)) {
        $new_array[] = $item;
    }
}

// 输出结果
print_r($new_array);
ログイン後にコピー

上記のコードを実行すると、最初の 2 つの例と同じ結果が得られます。

概要

上記は、一般的に使用される 3 つの重複排除方法です。方法を選択するときは、コード効率だけでなくデータ サイズも考慮してください。データ サイズが比較的小さい場合は、どのような方法でも使用できますが、データ サイズが非常に大きい場合は、効率が重要な問題になります。このとき、プログラムの実行が遅くなりすぎないように、最も効率的な方法で重複を削除する必要があります。 。どの方法を使用する場合でも、重複排除はプログラム開発において一般的な操作であり、それを巧みに習得する必要があります。

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

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