Intereting Posts
Два амперсанда между функциональными вызовами Как проверить ключи массива в php для хранения значений массива в mysql Сеансы PHP через поддомены 2 Как сделать Symfony2 автозагрузкой моей routing.yml для моих пакетов, которые я создаю в папке поставщиков? Тестирование командных блоков Laravel 5 console (artisan) Есть ли способ распечатать фактический запрос, который выполняет mysqli-> execute ()? Установка pecl и груши на OS X 10.11 El Capitan, macOS 10.12 Sierra, macOS 10.13 High Sierra Как преобразовать строку JSON в массив (PHP)? Невозможно получить репозиторий композитора «путь» «Использование неопределенного постоянного» уведомления, но константа должна быть определена Как я могу сказать PHP, чтобы давать исключение в качестве исходного текста вместо HTML? Лучший способ проверки многоуровневых реляционных зависимостей Если HTML, CSS и Javascript являются клиентскими, почему они являются компонентами файла PHP? Укажите проверку валидатора для изображений, созданных функциями imagejpeg / imagepng. Как я могу различать обновление «Сообщение» и обновление «Обратный звонок»? (Telegram Bot API)

array_unique для массивов внутри массива

Мне нужна функция array_unique для массивов внутри массива.

Дело – должно быть равным, но результат «не равен»:

 <?php $arr=array(array('a',1),array('a',2)); $arr2=array_unique($arr); if($arr2==$arr){ echo "equal"; } else{ echo "not equal"; } ?> 

Как код должен быть изменен, чтобы получить выходной «равный»?

Вы должны изменить свой вызов для array_unique чтобы он включал флаг SORT_REGULAR .

 $arr2 = array_unique($arr, SORT_REGULAR); 

Если вы хотите проверить, имеет ли внешний массив уникальные записи, сначала сначала сначала проиндексируйте внутреннее содержимое для сравнения:

 $arr1 = array_map("serialize", $arr); $arr2 = array_unique($arr1); if ($arr2 == $arr1) { 
 function array_unique_when_values_are_serializable($main_array) { return array_map('unserialize', array_values(array_unique(array_map('serialize', $main_array)))); }