Многие спрашивали меня, как сделать уникальный многомерный массив. Я взял ссылку из вашего комментария, и это мне помогает.
Прежде всего, спасибо @jeromegamez @daveilers за ваше решение. Но каждый раз, когда я отвечал, меня спрашивали, как работают эти «сериализации» и «десериализации». Вот почему я хочу поделиться с вами причиной этого, чтобы это помогло большему количеству людей понять концепцию, лежащую в основе этого.
Я объясняю, почему мы используем «сериализацию» и «десериализацию» поэтапно:
Шаг 1. Преобразуйте многомерный массив в одномерный массив
Чтобы преобразовать многомерный массив в одномерный массив, сначала сгенерируйте представление потока байтов всех элементов (включая вложенные массивы) внутри массива. Функция serialize () может генерировать представление значения в виде потока байтов. Чтобы сгенерировать представление потока байтов для всех элементов, вызовите функцию serialize () внутри функции array_map () как функцию обратного вызова. Результатом будет одномерный массив независимо от того, сколько уровней имеет многомерный массив.
Шаг 2. Сделайте значения уникальными
Чтобы сделать этот одномерный массив уникальным, используйте функцию array_unique ().
Шаг 3. Преобразуйте его в многомерный массив
Хотя теперь массив уникален, значения выглядят как представление байтового потока. Чтобы вернуть его обратно в многомерный массив, используйте функцию unserialize ().
$input = array_map("unserialize", array_unique(array_map("serialize", $input)));
Еще раз спасибо за все это.
person
Manish
schedule
01.09.2016