Matrizes Multidimensionais PHP - Remover Duplicados

Se alguém pudesse me ajudar aqui, eu ficaria eternamente grato, já que passei cerca de dois dias inteiros tentando fazer isso funcionar. Eu quero pegar dois arrays multidimensionais e compará-los, entãoremover quaisquer registros duplicados.

O cenário é: Os valores em array2 já foram atribuídos ao perfil de um usuário. Os valores em array1 são TODOS os valores disponíveis que o usuário pode escolher. Eu quero comparar os dois, de modo que apenas os que ainda não foram atribuídos sejam dados como uma opção (à esquerda na matriz) ...

$array1 = array(
  [0] => array( [id] => 3 [name] => Eye Colour )
  [1] => array( [id] => 1 [name] => Hair Colour )
  [2] => array( [id] => 5 [name] => Hair Length )
  [3] => array( [id] => 4 [name] => Height )
); 

$array2 = array(
  [0] => array( [attribute_id] => 3 [name] => Eye Colour [active] => 1 )
  [1] => array( [attribute_id] => 5 [name] => Hair Length [active] => 1 ) )
);

A função array_diff () do PHP não funciona com arrays multidimensionais, e eu tenho uma boa pesquisa, mas não consigo encontrar nada que funcione para mim!

O resultado com base nos dois arrays acima deve ser:

$array1 = array(
  [0] => array( [id] => 1 [name] => Hair Colour )
  [1] => array( [id] => 4 [name] => Height )
);

O campo [ativo] é irrelevante, então eu só preciso comparar os campos ID e Nome. Percebo que o nome dos dois campos id é diferente, mas seria difícil alterá-los, pois eles são nomes de colunas do banco de dados.

Ele precisa remover completamente o array, não apenas os valores. Eu tive problemas com tentativas anteriores, onde ele deixa o array () lá e então isso causa problemas quando eu estou em loop através do array, gerando os campos que o usuário pode escolher.

Por favor ajude. Eu vou te comprar muitas cervejas! :)

Obrigado, Steve

questionAnswers(1)

yourAnswerToTheQuestion