What best practices should be followed when modifying a function to compare multiple keys for removing duplicate entries in a multi-dimensional array in PHP?

When modifying a function to compare multiple keys for removing duplicate entries in a multi-dimensional array in PHP, it is important to create a custom comparison function that compares values of multiple keys. This custom comparison function should concatenate the values of the keys to create a unique identifier for each entry. Then, you can use this custom comparison function with the array_unique() function to remove duplicate entries based on multiple keys.

// Function to remove duplicate entries based on multiple keys
function removeDuplicates($array, $keys) {
    $uniqueArray = [];
    $uniqueKeys = [];

    foreach ($array as $item) {
        $key = '';
        foreach ($keys as $k) {
            $key .= $item[$k];
        }

        if (!in_array($key, $uniqueKeys)) {
            $uniqueArray[] = $item;
            $uniqueKeys[] = $key;
        }
    }

    return $uniqueArray;
}

// Example usage
$array = [
    ['id' => 1, 'name' => 'John', 'age' => 30],
    ['id' => 2, 'name' => 'Jane', 'age' => 25],
    ['id' => 1, 'name' => 'John', 'age' => 30],
    ['id' => 3, 'name' => 'Alice', 'age' => 35]
];

$keys = ['id', 'name']; // Keys to compare for uniqueness
$uniqueArray = removeDuplicates($array, $keys);

print_r($uniqueArray);