この記事では主にPHP配列から重複値を削除する方法を紹介しますので、興味のある方は参考にしていただければ幸いです。
概要
PHP の array_unique() 関数を使用すると、配列を渡して重複する値を削除し、一意の値を持つ配列を返すことができます。この関数はほとんどの場合にうまく機能します。ただし、大きな配列に対して array_unique() 関数を使用しようとすると、実行が遅くなります。
一意の配列を作成するために array_unique() 関数を使用する代わりに、より優れた高速な関数 array_flip() があります。この魔法の関数は、配列内の各要素のキーと値を交換します。キーの値は一意である必要があるため、array_unique() 関数と同じ結果が得られます。
PHP 配列をより速く重複排除する方法
/* 创建一个包含重复值的,一共四个元素的数组 */ $array = array('green','blue','orange','blue'); /* 翻转数组,你将会得到唯一键值的数组 array('green'=>0,'blue'=>1,'orange'=>2); */ $array = array_flip($array); /* 然后再翻转一次,将键和值重新放置,然后得到数组:array(0=>'green',1=>'blue',2=>'orange'); */ $array = array_flip($array);
いくつかの要素を削除したため、配列は通常のシーケンスのようには見えません。たとえば、array(0=>'A',2=>'B',5=>'C'); を取得できます。場合によっては、これは問題になりませんが、配列キーを番号順に保つ必要がある場合は、1 つまたは 2 つの方法を使用して、キー値の順序が崩れる問題を解決できます。
array_mergeを使用して配列のキーを修復します
array_flipを追加した後の関数は、配列のキー値をソートし、それらを通常のシーケンス(0、1、2、3など)に戻します。 ...
$array = array('green','blue','orange','blue'); $array = array_flip($array); $array = array_flip($array); /* 使用array_merge()函数修复键值*/ $array = array_merge($array);
2 番目の方法、array_keys を使用します
配列キー値を修復するこの方法は、array_merge() 関数を使用するよりもわずかに高速であることに注意してください。最後のステップで array_keys() 関数を使用することもできます (この関数は反転された値を返します)。その後、配列の値を反転すると、キーが順番に作成されます。
$array = array('green','blue','orange','blue'); $array = array_flip($array); /* 跟第一个例子一样,但是现在我们先提取数组的键值 */ $array = array_keys($array);
概要: 上記がこの記事の全内容です。皆様の学習に役立つことを願っています。
関連する推奨事項:
PHPは赤い封筒APIを自動的に送信するためのWeChat公式アカウントを実装します
以上がPHP配列から重複した値を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。