Как я могу удалить дубликаты подмассивов из моего многомерного массива?
У меня есть массив:
array:3 [▼
0 => array:1 [▼
"name" => "test#4"
]
1 => array:1 [▼
"name" => "C"
]
2 => array:1 [▼
"name" => "C"
]
]
Я хочу получить только уникальные значения:
array:2 [▼
0 => array:1 [▼
"name" => "test#4"
]
1 => array:1 [▼
"name" => "C"
]
]
Какую функцию PHP я должен использовать?
я использую array_unique()
:
$group_array = [];
foreach ($private_group_devices as $i=>$group) {
$group_array[$i]['name'] = $group['group_name'];
}
// dd($group_array);
dd(array_unique($group_array));
Но я продолжаю получать:
Преобразование массива в строку
1 ответ
Решение
Вы можете передать SORT_REGULAR
флаг в ваш array_unique
позвоните, как следует:
dd(array_unique($group_array, SORT_REGULAR));
По умолчанию, array_unique
пытается преобразовать каждый элемент в строку (что не совсем подходит для массивов). С помощью SORT_REGULAR
говорит array_unique
сравнивать предметы без конвертации их типов.