PHP では、1 次元配列を結合する操作が非常に一般的です。通常、array_merge または " " 演算子を使用して配列をマージできます。ただし、配列を結合する場合、重複する要素を削除する必要がある場合があります。どうすればよいでしょうか?
この記事では、重複しない 1 次元配列を簡単にマージできる、配列キー値に基づく 2 つの重複排除方法を紹介します。
array_unique 関数は、配列内の重複要素を削除し、重複要素のない配列を返すことができます。これを使用すると、マージ後に重複要素がないことを確認できます。配列内の要素。
まず、2 つの 1 次元配列 $array1 と $array2 を準備します。
$array1 = array('a', 'b', 'c'); $array2 = array('b', 'c', 'd');
次に、array_merge を使用して 2 つの配列をマージします。
$result = array_merge($array1, $array2);
このとき、 $result の結果は次のとおりです。
array('a', 'b', 'c', 'b', 'c', 'd')
ご覧のとおり、$result には 'b' と 'c' の 2 つの繰り返し要素があります。これらの重複要素を削除するには、array_unique 関数を使用します。
$result = array_unique($result);
この時点で、$result の結果は次のようになります。
array('a', 'b', 'c', 'd')
現時点では、重複要素はありません。 $結果。
array_unique 関数を使用することに加えて、配列キー値を設定して重複を排除することもできます。
配列のキー値は一意である必要があるため、マージする必要がある配列内の要素のみをキー値として使用して、マージされた要素に重複した要素がないことを確認する必要があります。配列。
次に示すように、最初に空の配列 $result を定義し、次にマージする 2 つの配列を反復処理して、要素の値をキー値として $result に追加します。 #This このとき、$result の結果は次のようになります。
$array1 = array('a', 'b', 'c'); $array2 = array('b', 'c', 'd'); $result = array(); foreach($array1 as $value){ $result[$value] = true; } foreach($array2 as $value){ $result[$value] = true; } $result = array_keys($result);
この時点では、$result に重複する要素はありません。
上記の方法では array_unique 関数の使用を回避していますが、配列の値として一時的なブール値を設定する必要があることに注意してください。したがって、配列をマージするとき、配列自体の値がブール値タイプ。このアプローチでは問題が発生する可能性があります。
概要
PHP では、1 次元配列のマージと重複要素の削除は非常に一般的な操作です。この記事では、配列キー値に基づく 2 つの重複排除方法、つまり array_unique 関数を使用する方法と配列キー値の重複排除方法を紹介します。これらの方法により、配列の結合プロセスが大幅に簡素化され、重複しない 1 次元配列を迅速に結合できます。これらの方法を使用する場合は、実際の状況に応じて最適な方法を選択する必要があります。
以上がPHP で繰り返しを行わずに 1 次元の数値の組み合わせを実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。