ホームページ > バックエンド開発 > PHPチュートリアル > PHP学習ノートは配列から重複データを削除します

PHP学習ノートは配列から重複データを削除します

WBOY
リリース: 2016-06-23 13:01:29
オリジナル
797 人が閲覧しました

PHP で配列から重複データを削除する 2 つの方法を紹介します

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 関数は保持されている値の元のキー値を変更しないため、操作が困難になります。このとき、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 関数

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 関数を導入したとき、突然問題が発生しました。すべての配列の値を取得できる関数があるはずであることを確認してください。しばらくすると、この関数は配列とレコードのすべての値を返すことができます。このようにして、キーの値を「0」から数えることもできるため、この記事の目的を達成したい場合は、最初に array_unique 関数を使用してから、array_value 関数を使用することもできます。それ。

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