Arrays Multidimensionales PHP - Eliminar Duplicados

Si alguien pudiera ayudarme aquí, estaría eternamente agradecido, ya que he pasado casi 2 días enteros tratando de hacer que esto funcione. Quiero tomar dos matrices multidimensionales y compararlas, entoncesretirar Cualquier registro duplicado.

El escenario es: Los valores en array2 ya se han asignado al perfil de un usuario. Los valores en array1 son TODOS los valores disponibles que el usuario puede elegir. Quiero comparar los dos para que solo los que no están asignados se den como una opción (dejada en la 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 ) )
);

La función array_diff () de PHP no funciona con matrices multidimensionales, y he tenido una buena búsqueda, ¡pero parece que no puedo encontrar nada que funcione para mí!

El resultado basado en las dos matrices anteriores debe ser:

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

El campo [activo] es irrelevante, así que solo lo necesito para comparar los campos de ID y Nombre. Me doy cuenta de que el nombre de los dos campos de identificación es diferente, pero sería un dolor cambiarlos, ya que son nombres de columnas de la base de datos.

Necesita eliminar completamente la matriz, no solo los valores. He tenido problemas con intentos previos en los que deja array () allí y esto causa problemas cuando recorre el array generando los campos que el usuario puede elegir.

Por favor ayuda. Te compraré muchas cervezas! :)

Gracias Steve

Respuestas a la pregunta(1)

Su respuesta a la pregunta