我下面有一个数组,我要在其中获取或删除重复的值:
$data = $responses;
var_dump($data);
结果是:
array(11) {
[0]=>
string(4) "date"
[1]=>
string(4) "name"
[2]=>
string(10) "start_time"
[3]=>
string(8) "end_time"
[4]=>
string(4) "date"
[5]=>
string(4) "name"
[6]=>
string(10) "start_time"
[7]=>
string(8) "end_time"
[8]=>
string(7) "other_1"
[9]=>
string(7) "other_2"
[10]=>
string(7) "other_3"
}
所以我这样做:
var_dump(array_unique($data));
//also tried:
var_dump(array_intersect_key($data, array_unique(array_map('serialize', $data))));
但输出为:
array(6) {
[0]=>
string(4) "date"
[1]=>
string(4) "name"
[2]=>
string(10) "start_time"
[3]=>
string(8) "end_time"
[4]=>
string(7) "other_1"
[5]=>
string(7) "other_2"
[6]=>
string(7) "other_3"
}
我期望的输出是:
array(3){
[1]=>
string(7) "other_1"
[2]=>
string(7) "other_2"
[3]=>
string(7) "other_3"
}
我希望仅返回最后3个项目,因为它们是唯一不重复的值,但是我认为array_unique
仅保留重复项目的一个值。
我是否以正确的方式来做array_unique
?