PHP の 2 次元配列における重複した名前の削除方法は?
PHPの多次元配列 name の重複を削除する方法を次にいくつか紹介します。
- 二次元配列のnameに配列_unique関数を用いる:配列_unique関数を用いて二次元配列のnameの重複を削除できます。たとえば:
$uniqueArray = array_map("unserialize", array_unique(array_map("serialize", $array)));
- foreachループで2次元配列を反復処理する: foreachループを使用して2次元配列を反復処理し、nameをキー名として使用して、キー名がすでに存在するかどうかを判断することで重複を削除できます。たとえば:
$uniqueArray = array();
foreach ($array as $item) {
$name = $item['name'];
if (!isset($uniqueArray[$name])) {
$uniqueArray[$name] = $item;
}
}
- 匿名関数を組み合わせたarray_reduce関数を利用する
$uniqueArray = array_reduce($array, function ($result, $item) {
$name = $item['name'];
if (!isset($result[$name])) {
$result[$name] = $item;
}
return $result;
}, []);
いずれの方法を使っても、2 次元配列の name フィールドの重複排除操作を実現できる。