ホームページ >バックエンド開発 >PHPの問題 >phpは配列から繰り返された段落を削除します

phpは配列から繰り返された段落を削除します

王林
王林オリジナル
2023-05-07 12:58:07423ブラウズ

はじめに

PHP アプリケーションを開発する場合、配列から重複する要素を削除する必要がある場合は、いくつかの組み込み関数を使用するか、トラバーサル操作を手動で実行できます。この記事では、PHPで配列から重複要素を削除する方法をいくつか紹介し、詳しく解説・分析します。

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

PHP では、array_unique() 関数を使用して、配列内の重複した要素を削除できます。この関数は、元の配列の一意の要素のみを含む新しい配列を返します。

$arr = array(1, 2, 2, 3, 4, 4, 5);
$new_arr = array_unique($arr);
print_r( $new_arr); // 出力: Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
? >

上記のコードでは、最初に繰り返し要素を含む配列 $arr を作成し、次に array_unique() 関数を使用してそれを操作し、結果を $new_arr に保存します。最後に、print_r() 関数を通じて結果を出力すると、反復しない要素のみを含む新しい配列が表示されます。

array_unique() 関数は配列要素の元の順序を保持することに注意してください。つまり、要素が出現する順序に関係なく、新しい配列の順序は次と同じになります。元の配列。

方法 2: 配列を手動で走査する

array_unique() 関数の使用に加えて、配列を手動で走査して重複要素を削除する方法も使用できます。具体的な手順は次のとおりです。

  • 一意の要素を格納するために使用される新しい配列 $new_arr を作成します。
  • 元の配列 $arr を走査し、ループするたびに現在の要素が新しい配列 $new_arr にすでに存在するかどうかを確認します。
  • 存在しない場合は、現在の要素を $new_arr に追加します。
  • 最後に、新しい配列 $new_arr を返します。

実装コードは次のとおりです:

$arr = array(1, 2, 2, 3, 4, 4, 5) ;
$ new_arr = array();
for ($i = 0; $i < count($arr); $i ) {

if (!in_array($arr[$i], $new_arr)) {
    $new_arr[] = $arr[$i];
}

}
print_r($new_arr ); // 出力:配列 ([0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
?>

上記のコードでは、for ループを使用して元の配列 $arr を走査し、各ループ中に in_array() 関数を使用して、現在の要素が新しい配列 $new_arr に既に存在するかどうかを判断します。存在しない場合は、現在の要素が $new_arr に追加されます。最後に、新しい配列の内容が print_r() 関数を通じて出力されます。

配列を手動で走査すると重複した要素を削除できますが、array_unique() 関数と比較すると、より多くのコードが必要となり、効率が低く、論理エラーが発生しやすいことに注意してください。そのため、実際の開発ではPHPの組み込み関数を使用してみてください。

方法 3: array_flip()、array_values() 関数を使用する

PHP 組み込み関数は、配列キー値を使用して重複要素を削除するソリューションを提供します。具体的な手順は次のとおりです。

  • array_flip() 関数を使用して、配列内の値をキーとして使用し、キーを値として使用して配列を反転します。
  • array_values() 関数を使用して、配列からキーを削除し、値のみを含む新しい配列を返します。

実装コードは次のとおりです:

$arr = array(1, 2, 2, 3, 4, 4, 5) ;
$ new_arr = array_values(array_flip($arr));
print_r($new_arr); // 出力: Array ( [0] => 1 [1] => 2 [2] => ; 3 [3] => 4 [4] => 5 )
?>

上記のコードでは、まず array_flip() 関数を使用して値とキーを反転します。配列 $arr 内にあり、値はキー、キーは値です。反転された配列は array_values() 関数に渡され、新しい配列の内容が print_r() 関数を通じて出力されます。

キー値を使用して配列内の重複要素を削除する場合は、要素自体の値が一意であることに依存するため、使用する場合は要素値が重複する可能性があるかどうかを考慮する必要があることに注意してください。

概要

PHP 配列内の重複要素を削除する方法は数多くありますが、その中で最もよく使用されるのは array_unique() 関数です。配列を手動で走査して重複要素を削除する必要がある場合は、コードの効率とロジックの問題に注意を払う必要があります。配列キー値を使用するとコード効率はある程度向上しますが、要素値が重複する可能性があるかどうかを考慮する必要があります。

実際の開発では、特定のニーズとデータ型に基づいて配列内の重複要素を削除する適切な方法を選択することが非常に重要です。

以上がphpは配列から繰り返された段落を削除しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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