2015-12-15 71 views
0

我怎么能使用array_unique功能,此阵 `array_unique在PHP与阵列子阵

$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

[RTFM(http://php.net/manual/de/ function.array-unique.php) – Lino

+0

@Lino连接到德语版本的手册和诅咒“阅读$#@ $ @#$手册”的讽刺让我感到有趣。 – Ultimater

+0

@Ultimater哦,我总是忘记这个愚蠢的男人页是地理位置:-) – Lino

回答

1

您可以使用此解决方案还:

$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);