Beaucoup de personnes m'ont demandé comment créer un tableau multidimensionnel unique. J'ai pris référence à votre commentaire et cela m'aide.
Tout d'abord, merci à @jeromegamez @daveilers pour votre solution. Mais chaque fois que je donnais la réponse, ils me demandaient comment fonctionnaient ces «sérialiser» et «désérialiser». C'est pourquoi je veux partager la raison de cela avec vous afin que cela aide plus de gens à comprendre le concept derrière cela.
J'explique pourquoi nous utilisons «sérialiser» et «désérialiser» par étapes:
Étape 1: convertir le tableau multidimensionnel en tableau unidimensionnel
Pour convertir le tableau multidimensionnel en tableau unidimensionnel, commencez par générer une représentation en flux d'octets de tous les éléments (y compris les tableaux imbriqués) à l'intérieur du tableau. La fonction serialize () peut générer une représentation en flux d'octets d'une valeur. Pour générer une représentation en flux d'octets de tous les éléments, appelez la fonction serialize () à l'intérieur de la fonction array_map () en tant que fonction de rappel. Le résultat sera un tableau unidimensionnel quel que soit le nombre de niveaux du tableau multidimensionnel.
Étape 2: rendre les valeurs uniques
Pour rendre ce tableau unidimensionnel unique, utilisez la fonction array_unique ().
Étape 3: le rétablir dans le tableau multidimensionnel
Bien que le tableau soit désormais unique, les valeurs ressemblent à une représentation de flux d'octets. Pour le rétablir dans le tableau multidimensionnel, utilisez la fonction unserialize ().
$input = array_map("unserialize", array_unique(array_map("serialize", $input)));
Merci encore pour tout ça.