[PHP] RISOLTO - Eliminare elementi duplicati da array multidimensionale

ciccioroky

Nuovo Utente
31 Lug 2012
25
0
1
Ciao a tutti.
Il mio problema è come in oggetto.
Ho un array multidimensionale di un miliardo di elementi di questo tipo

$array_merenda[] = array('id' => $post_OBJ->id,
'rilevanza_1' => $post_OBJ->rilevanza_1,
'rilevanza_3' => $post_OBJ->rilevanza_3,
'importanza' => $post_OBJ->importanza,
'i_alimento' => $post_OBJ->i_alimento,
'ii_alimento' => $post_OBJ->ii_alimento,
'iii_alimento' => $post_OBJ->iii_alimento,
'iv_alimento' => $post_OBJ->iv_alimento,
'v_alimento' => $post_OBJ->v_alimento,
'note' => $post_OBJ->note);

Avrei bisogno di scoprire se nell'array $array_merenda ci sono degli elementi duplicati e se si eliminarli.
Una volta eliminati poi dovrei riordinare gli indici degli array da zero all'ultimo senza saltare gli indici eventualmente eliminati.

Di solito uso la funzione array_unique ma pare che con i multidimensionali non funziona.

Mi sapete aiutare?
Grazie mille
 

ciccioroky

Nuovo Utente
31 Lug 2012
25
0
1
Risolto da solo. Ecco la soluzione

// elimino
$serialized = array_map('serialize', $array_merenda);
$unique = array_unique($serialized);
$uniqueArray_merenda = array_intersect_key($array_merenda, $unique);
// re indicizzo
$PRE_Merenda = array_values($uniqueArray_merenda);

Spero possa essere d'aiuto ad altri.