PHPで配列から重複フィールドを削除する方法

PHPz
リリース: 2023-04-18 15:10:08
オリジナル
576 人が閲覧しました

PHP では、配列は一般的に使用されるデータ構造の 1 つです。データを処理する必要がある一部のアプリケーション シナリオでは、配列内の重複フィールドを削除することが必要になることがよくあります。ここでは、一般的な方法とテクニックをいくつか紹介します。

1. array_unique 関数を使用する

array_unique 関数は、配列から重複する値を削除できる PHP の組み込み関数の 1 つです。使い方は非常に簡単です:

$array = array('a', 'b', 'c', 'b', 'a');
$result = array_unique($array);
print_r($result);
ログイン後にコピー

結果は:

Array
(
    [0] => a
    [1] => b
    [2] => c
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

2. array_flip 関数と array_keys 関数を使用して重複排除を実現します

array_flip 関数はキーと値を変換できます配列内のキー値は交換可能であり、array_keys 関数は配列内のすべてのキー値を返すことができます。したがって、これら 2 つの関数を組み合わせて配列の重複排除を実現できます:

$array = array('a', 'b', 'c', 'b', 'a');
$result = array_flip(array_flip($array));
print_r($result);
ログイン後にコピー

結果は次のようになります:

Array
(
    [0] => a
    [1] => b
    [2] => c
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

3. foreach ループを使用して重複を排除します

Use foreach ループを使用して、配列の重複排除を実行します。 array を使用し、配列添字の一意性を使用して重複排除を実現します:

$array = array('a', 'b', 'c', 'b', 'a');
$temp = array();
foreach ($array as $value) {
  $temp[$value] = true;
}
$result = array_keys($temp);
print_r($result);
ログイン後にコピー

結果は次のようになります:

Array
(
    [0] => a
    [1] => b
    [2] => c
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

4. in_array 関数を使用して重複を判断します

foreach ループを使用して配列を走査し、in_array 関数を組み合わせて、現在の値が結果配列に既に存在するかどうかを判断して重複排除を実現できます:

$array = array('a', 'b', 'c', 'b', 'a');
$temp = array();
foreach ($array as $value) {
  if (!in_array($value, $temp)) {
    $temp[] = $value;
  }
}
print_r($temp);
ログイン後にコピー

結果は:

Array
(
    [0] => a
    [1] => b
    [2] => c
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

5 を使用します。 array_reduce 関数を使用して重複排除を実現します

array_reduce 関数は配列内の要素を反復して蓄積できます。in_array 関数と組み合わせて配列の重複排除を実現できます:

$array = array('a', 'b', 'c', 'b', 'a');
$result = array_reduce($array, function($carry, $item) {
  if (!in_array($item, $carry)) {
    $carry[] = $item;
  }
  return $carry;
}, array());
print_r($result);
ログイン後にコピー

結果は次のとおりです:

Array
(
    [0] => a
    [1] => b
    [2] => c
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

以上はPHPにおける配列の削除です フィールドを繰り返す方法はいくつかありますが、それぞれにメリット・デメリットがあり、状況に応じて使い分けてください。

以上がPHPで配列から重複フィールドを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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