ホームページ  >  記事  >  バックエンド開発  >  PHP配列から重複要素を削除する方法(3つの方法)

PHP配列から重複要素を削除する方法(3つの方法)

PHPz
PHPzオリジナル
2023-04-12 09:18:242298ブラウズ

PHP は、強力な機能と柔軟な機能を備えた広く使用されているサーバーサイド スクリプト言語であり、多くの Web サイトのバックエンド開発に優先される言語となっています。 PHP では、配列から重複した要素を削除する必要がある場合があります。この記事では、PHP のさまざまな機能を使用して、重複した配列要素を削除する方法を紹介します。

方法 1: array_unique() 関数を使用する
PHP の組み込みの array_unique() 関数は、配列内の重複した値を削除できます。この関数は、すべての重複した値が含まれる新しい配列を返します。が削除されます。この関数の基本的な構文は次のとおりです。

array array_unique(array $array [, int $sort_flags = SORT_STRING ])

このうち、$array は重複排除が必要な配列です。 、$sort_flags は並べ替えフラグです。重複排除結果の並べ替え方法を指定するために使用され、次の値を指定できます:

  • SORT_REGULAR - データ型と値の比較
  • SORT_NUMERIC - 値のみを比較し、数値順に並べ替えます
  • SORT_STRING - 値のみを比較し、文字列順に並べ替えます

サンプル コードは次のとおりです:

<?php   
   $arr = array("a" => "apple", "b" => "banana", "c" => "apple");  
   $result = array_unique($arr);  
   print_r($result); 
?>

出力結果は次のとおりです:

Array ( [a] => apple [b] => banana )

上記の例では、$arr 配列には 2 つの同一の値「apple」が含まれているため、array_unique() 関数を使用して重複を削除した後、「apple」は 1 つだけになります。結果に残ります。

方法 2: ループ トラバーサルを使用する
配列内の重複する値を削除する必要がある場合は、ループ トラバーサルを使用してこれを実現することもできます。基本的な考え方は、配列をループし、各要素を前の要素と比較し、前の要素と同じである場合は、配列内に重複する要素がなくなるまでその要素を削除することです。

サンプル コードは次のとおりです:

<?php   
   $arr = array("a" => "apple", "b" => "banana", "c" => "apple");  
   $newArr = array();  
   foreach ($arr as $value) {  
      if(!in_array($value, $newArr)){  
         $newArr[] = $value;  
      }  
   }  
   print_r($newArr);  
?>

出力結果は次のとおりです:

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

上記の例では、foreach ループを使用して $arr 配列を走査し、格納します。 new の各要素 配列 $newArr 内で、同じ値が既に $newArr に含まれていることが判明した場合、その値はスキップされ、次の要素がチェックされます。

方法 3: array_flip() および array_keys() 関数を使用する
PHP の組み込み関数 array_flip() および array_keys() を使用して重複を削除することもできます。

array_flip() 関数を使用すると、配列内のキーと対応する値を交換し、重複排除の目的を達成できます。この関数の基本的な構文は次のとおりです。

array array_flip(array $array)

このうち、$array はキー値を交換する必要がある配列です。

array_keys() 関数は配列内のすべてのキーを返すことができます。基本的な構文は次のとおりです:

array array_keys(array $array [,mixed $search_value = null [, bool $strict = false ]] )

これらのうち、$array は指定された配列、$search_value はオプションのパラメータで、検索する値を指定するために使用されます。指定しない場合はすべてのキーが返されます。$strict はオプションのパラメータ。一致比較を使用するかどうかを指定するために使用されます。

サンプル コードは次のとおりです:

<?php  
   $arr = array("a" => "apple", "b" => "banana", "c" => "apple");  
   $newArr = array_flip(array_keys($arr));  
   print_r($newArr); 
?>

出力結果は次のとおりです:

Array ( [apple] => c [banana] => b )

上記の例では、まず array_keys() 関数を使用して、すべてのキーを返します。 $arr 配列を取得し、array_flip を使用します。() 関数はキーと値を交換して、新しい配列 $newArr を取得します。配列内のキーは一意である必要があるため、この方法では重複排除の効果を実現できます。

概要
この記事では、PHP で配列要素を重複排除する 3 つの方法、array_unique() 関数の使用、ループ トラバーサルの使用、array_flip() 関数と array_keys() 関数の使用を紹介します。方法が異なれば適用できるシナリオや効果も異なり、状況に応じて適切な方法を選択する必要があります。

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

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