array_unique в php с подмассивом в массиве

Как я могу использовать функцию array_unique для этого массива
`

$mon  = array('9:00AM - 11:00AM','1:00pm-6pm');
$tue  = array('8:00AM - 11:00AM','12:00pm-6pm');
$wed  = array('9:00AM - 11:00AM','1:00pm-6pm');
$thu  = array('9:00AM - 11:00AM','1:00pm-6pm');
$fri  = array('9:00AM - 12:00PM','1:00pm-6pm');
$sat  = array('9:00AM - 7:00PM');
$sun  = array('9:00AM - 12:00AM','1:00pm-6pm');

$a=array($mon , $tue , $wed , $thu , $fri , $sat , $sun);
print_r(array_unique($a));

0

Решение

Вы также можете использовать это решение:

$schedule = array(
array('9:00AM - 11:00AM','1:00pm-6pm'),
array('8:00AM - 11:00AM','12:00pm-6pm'),
array('9:00AM - 11:00AM','1:00pm-6pm'),
array('9:00AM - 11:00AM','1:00pm-6pm'),
array('9:00AM - 12:00PM','1:00pm-6pm'),
array('9:00AM - 7:00PM'),
array('9:00AM - 12:00AM','1:00pm-6pm'),
);

$schedule = array_map(function ($item) {
return json_encode($item);
}, $schedule);

// use array_flip to switch keys and values. By doing it the duplicates will be removed
$json = '[' . implode(',', array_keys(array_flip($schedule))) . ']';
$schedule = json_decode($json);

var_dump($schedule);
1

Другие решения

Вы должны написать пользовательскую функцию для многомерного массива,
пожалуйста, обратитесь ниже функции

function unique_multidim_array($array, $key){
$temp_array = array();
$i = 0;
$key_array = array();

foreach($array as $val){
if(!in_array($val[$key],$key_array)){
$key_array[$i] = $val[$key];
$temp_array[$i] = $val;
}
$i++;
}
return $temp_array; }

Теперь вызывайте эту функцию в любом месте вашего кода

 $details = unique_multidim_array($details,'id');

если в вашем случае вы должны передать ключ как 0 или 1, как

$a=unique_multidim_array($a,0);
1