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