PHPで配列に重複要素があるかどうかを確認する方法

PHPz
リリース: 2023-03-24 17:36:01
オリジナル
1437 人が閲覧しました

PHP は、Web 開発で広く使用されているスクリプト言語です。 PHP 開発では、配列のデータ型が関係することがよくあります。配列内に重複要素があるかどうかを判断することも非常に重要なタスクです。この記事では、PHP を使用して配列内に重複要素があるかどうかを判断する方法について説明します。

統計に array_count_values() 関数を使用する

もう 1 つの方法は、統計に array_count_values() 関数を使用することです。この関数は新しい配列を返します。ここで、各要素の出現数が含まれます。新しい配列を反復処理して、複数出現する要素を重複要素として判断できます。

以下はサンプルコードです:

<?php

$arr = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;orange&#39;, &#39;orange&#39;);
$arr_new = array_count_values($arr);

foreach($arr_new as $key => $value) {
    if($value != 1) {
        unset($arr[$key]);
    }
}

print_r($arr);
?>
ログイン後にコピー

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

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

array_count_values() 関数を統計に使用する方法も非常に優れています一定の実用性を備えています。

#知識の拡充: 重複の削除

  • #array_unique() 関数を使用して重複要素を削除する

  • array_unique() 関数は、配列から重複要素を削除するために PHP でカプセル化された関数です。その構文構造は次のとおりです:
array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
ログイン後にコピー

この関数は、次の後に新しい配列を返します。重複した要素を削除します。ここで、sort_flags は並べ替えルールを設定するために使用されるオプションのパラメーターです。デフォルトでは、関数はすべての値の文字列比較を実行し、昇順に並べ替えます。必要に応じて並べ替えるパラメータを選択できます。

次は例です:

<?php

$arr = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;orange&#39;, &#39;orange&#39;);
$arr_new = array_unique($arr);
print_r($arr_new);
?>
ログイン後にコピー

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

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

ご覧のとおり、関数は配列から重複要素を正常に削除しています。

  • ループを使用した重複の削除

  • PHP 開発では、ループを使用して配列を走査し、重複排除を実行できます。タイムリーなオペレーション。具体的な手順は次のとおりです:

1. 配列の長さを取得する

count() 関数を使用して配列の長さを取得できます。


2. 配列をループします

for ループ ステートメントを使用して配列を走査します。このとき、2 つの変数 i と j を使用できます。i は、操作されている現在の要素を指すために使用されます。オン、j は次のビット要素を指すために使用されます。


3. 重複要素があるかどうかの判定

ループ内で if 文を使用して判定することができ、i 要素と j 要素が等しい場合に重複要素があるとみなします。 、unset() 関数を使用して要素を削除できます。


以下はサンプル コードです:

<?php

$arr = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;orange&#39;, &#39;orange&#39;);
$len = count($arr);

for($i=0; $i<$len-1; $i++) {
    for($j=$i+1; $j<$len; $j++) {
        if($arr[$i] == $arr[$j]) {
            unset($arr[$j]);
        }
    }
}

print_r($arr);
?>
ログイン後にコピー

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


Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

ご覧のとおり、ループによる重複排除の効果は次のとおりです。これもかなり良いです。の

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

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