ホームページ >バックエンド開発 >PHPの問題 >PHPで重複したデータを削除する方法

PHPで重複したデータを削除する方法

藏色散人
藏色散人オリジナル
2020-08-05 10:56:176437ブラウズ

php の重複データを削除する方法: 1. 「array_unique」関数を使用して、配列内の重複した値を直接削除します; 2. 「array_flip」関数と「array_keys」関数を使用して、重複データを削除します。

PHPで重複したデータを削除する方法

推奨事項: 「PHP ビデオ チュートリアル

配列から重複データを削除する 2 種類の PHP方法

1. array_unique 関数を直接使用する

array_unique 関数を使用して、配列内の重複値を直接削除し、最初に出現した重複値のみを保持します。およびその対応するキー値

詳細な手順は、PHP マニュアルを参照してください。

例 1:

$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
此时输出:
Array
(
    [a] => green
    [0] => red
    [1] => blue
)

注: array_unique 関数では、int(3) とstring( 1) '3' の場合、関数は 2 つの値を同じ値とみなし、最初に出現した値のみを保持します。

例 2:

$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);

これで

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}

2. array_flip 関数と array_keys 関数を一緒に使用します

array_unique 関数を使用すると非常に便利ですが、array_unique 関数は次のことを行うという点が 1 つあります。保持されている元のキー値を変更しないでください。これにより、新しい配列を操作することが困難になる場合があります。このとき、array_flip 関数と array_keys 関数を使用できます

#array_flip 関数

指定された配列の値とキー値を交換します。キーは値になり、元の配列の値はキーになり、同じ値が複数回出現する場合は、最後のキーがその値になります値とその他すべてが失われます。

例:

$trans = array("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip($trans);
print_r($trans);

このときの出力は次のとおりです:

Array
(
    [1] => b
    [2] => c
)

array_keys function

array_keys 関数は配列内の一部またはすべてのキー名を返すことができます, これがわかりやすいです。serch_valueを指定すると、指定したクエリ値のキー値が返されます。

例:

$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));
$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));
$array = array("color" => array("blue", "red", "green"),
               "size"  => array("small", "medium", "large"));
print_r(array_keys($array));

このとき、出力は次のようになります:

Array
(
    [0] => 0
    [1] => color
)
Array
(
    [0] => 0
    [1] => 3
    [2] => 4
)
Array
(
    [0] => color
    [1] => size
)

2 つの関数の導入後 使用後、繰り返しデータが多い配列に遭遇し、途中の繰り返しデータを削除してキー値を '0' から数え始めたい場合は、最初に関数で array_flip 関数を使用し、次に新しい配列で array_keys 関数を使用することができます。

補足: エディターが array_keys 関数を紹介したとき、次のことが必要であると突然思いつきました。すべての配列の値を取り出すことができる関数です。確認すると、確かに配列のすべての値を返すことができる array_value 関数があります。値は新しい配列に記録されるので、したがって、この記事の目的を達成したい場合は、最初に array_unique 関数を使用し、次に array_value 関数を使用することもできます。

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

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