Molte persone mi hanno chiesto come realizzare un array multidimensionale unico. Ho preso riferimento al tuo commento e mi aiuta.
Prima di tutto, grazie a @jeromegamez @daveilers per la tua soluzione. Ma ogni volta che ho dato la risposta, mi hanno chiesto come funziona questa "serializzazione" e "non serializzazione". Ecco perché voglio condividere la ragione di questo con te in modo che possa aiutare più persone a capire il concetto alla base di questo.
Sto spiegando perché usiamo "serializzare" e "non serializzare" nei passaggi:
Passaggio 1: convertire l'array multidimensionale in array monodimensionale
Per convertire l'array multidimensionale in un array monodimensionale, generare innanzitutto una rappresentazione a flusso di byte di tutti gli elementi (compresi gli array nidificati) all'interno dell'array. la funzione serialize () può generare una rappresentazione di flusso di byte di un valore. Per generare una rappresentazione di flusso di byte di tutti gli elementi, chiamare la funzione serialize () all'interno della funzione array_map () come funzione di callback. Il risultato sarà un array monodimensionale, indipendentemente da quanti livelli ha l'array multidimensionale.
Passaggio 2: rendere unici i valori
Per rendere unico questo array monodimensionale, utilizzare la funzione array_unique ().
Passaggio 3: ripristinarlo nella matrice multidimensionale
Sebbene l'array sia ora univoco, i valori assomigliano alla rappresentazione del flusso di byte. Per ripristinare l'array multidimensionale, utilizzare la funzione unserialize ().
$input = array_map("unserialize", array_unique(array_map("serialize", $input)));
Grazie ancora per tutto questo.