Багато людей запитували мене, як зробити унікальний багатовимірний масив. Я взяв посилання на ваш коментар, і це мені допомагає.
Перш за все, завдяки @jeromegamez @daveilers за ваше рішення. Але щоразу, коли я давав відповідь, вони запитували мене, як це працює «серіалізувати» та «несеріалізувати». Ось чому я хочу поділитися з вами причиною цього, щоб вона допомогла більшості людей зрозуміти концепцію, що стоїть за цим.
Я пояснюю, чому ми використовуємо "серіалізувати" та "несеріалізувати" кроками:
Крок 1: Перетворення багатовимірного масиву в одновимірний масив
Щоб перетворити багатовимірний масив в одновимірний масив, спершу генеруйте байтове подання потоку всіх елементів (включаючи вкладені масиви) всередині масиву. функція serialize () може генерувати байт-потокове подання значення. Щоб створити представлення потоку байтів усіх елементів, виклик функції serialize () всередині функції array_map () як функція зворотного виклику. Результатом буде одновимірний масив, незалежно від того, скільки рівнів має багатовимірний масив.
Крок 2: Зробіть значення унікальними
Щоб зробити цей одновимірний масив унікальним, використовуйте функцію array_unique ().
Крок 3: Поверніть його до багатовимірного масиву
Хоча масив тепер унікальний, значення виглядають як байтове представлення потоку. Щоб повернути його назад до багатовимірного масиву, використовуйте функцію unserialize ().
$input = array_map("unserialize", array_unique(array_map("serialize", $input)));
Ще раз дякую за все це.