PHPで多次元配列から重複を削除する方法


多次元配列から重複を削除するためには、いくつかの方法があります。以下にいくつかのコード例を示します。

方法1: array_mapとserializeを使用する方法

function removeDuplicates($array) {
    $serialized = array_map('serialize', $array);
    $unique = array_unique($serialized);
    $result = array_map('unserialize', $unique);
    return $result;
}
$multiArray = [
    [1, 2, 3],
    [4, 5, 6],
    [1, 2, 3],
    [7, 8, 9]
];
$uniqueArray = removeDuplicates($multiArray);
print_r($uniqueArray);

方法2: 配列のキーを使用する方法

function removeDuplicates($array) {
    $uniqueArray = array();
    foreach($array as $item) {
        $key = json_encode($item);
        $uniqueArray[$key] = $item;
    }
    return array_values($uniqueArray);
}
$multiArray = [
    [1, 2, 3],
    [4, 5, 6],
    [1, 2, 3],
    [7, 8, 9]
];
$uniqueArray = removeDuplicates($multiArray);
print_r($uniqueArray);

方法3: array_reduceを使用する方法

function removeDuplicates($array) {
    $uniqueArray = array_reduce($array, function($carry, $item) {
        $key = json_encode($item);
        $carry[$key] = $item;
        return $carry;
    }, array());
    return array_values($uniqueArray);
}
$multiArray = [
    [1, 2, 3],
    [4, 5, 6],
    [1, 2, 3],
    [7, 8, 9]
];
$uniqueArray = removeDuplicates($multiArray);
print_r($uniqueArray);

これらの方法は、多次元配列から重複を効果的に削除するためのいくつかの手法です。あなたの要件や好みに合わせて、適切な方法を選択してください。