PHP 多次元配列: 特定の値に基づく重複排除
質問:
多次元配列が与えられた場合、重複した値を含むサブ配列を効率的に削除するにはどうすればよいですか?特定のキー?
問題ステートメント:
次の多次元配列を考えてみましょう:
Array ( [0] => Array ( [0] => dave [1] => jones [2] => [email protected] ) [1] => Array ( [0] => john [1] => jones [2] => [email protected] ) [2] => Array ( [0] => bruce [1] => finkle [2] => [email protected] ) )
タスクは、サブ配列を削除することです電子メール アドレス (インデックス 2) が複数回出現します。この例では、最初または 3 番目のサブ配列のいずれかが削除されます。
解決策:
簡単な解決策には、配列の一意性を使用して重複する電子メール アドレスを排除することが含まれます。 :
$newArr = array(); foreach ($array as $val) { $newArr[$val[2]] = $val; } $array = array_values($newArr);
このソリューションは、PHP の配列キーが一意であるという事実を利用します。電子メール アドレスを配列キーとして使用することで、特定の電子メール アドレスが最後に出現したものだけが結果の配列に保持されるようになります。
最後に array_values() を使用することで、配列のインデックスを次のようにリセットします。重複排除された状態を維持しながら、連続する番号data.
注:
以上が特定のキーに基づいて PHP 多次元配列を効率的に重複排除する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。