Php 我想删除数组中基于**两**键的重复行
我想删除基于两个键“id\u send”和“id\u ip”的重复行, 我找到了一个函数,但它只能使用一个键:Php 我想删除数组中基于**两**键的重复行,php,Php,我想删除基于两个键“id\u send”和“id\u ip”的重复行, 我找到了一个函数,但它只能使用一个键: function super_unique($array, $key) { $temp_array = array(); foreach ($array as &$v) { if (!isset($temp_array[$v[$key]])) { $temp_array[$v[$key]] = & $v; } } $array = a
function super_unique($array, $key) {
$temp_array = array();
foreach ($array as &$v) {
if (!isset($temp_array[$v[$key]])) {
$temp_array[$v[$key]] = & $v;
}
}
$array = array_values($temp_array);
return $array;
}
这是数组“stats”:
Array
(
[0] => Array
(
[id_send] => 10
[id_user] => 30
[id_ip] => 99
[view] => 9652
)
[1] => Array
(
[id_send] => 10
[id_user] => 20
[id_ip] => 100
[view] => 450
)
[2] => Array
(
[id_send] => 10
[id_user] => 30
[id_ip] => 99
[view] => 456
)
)
因此,我想要的函数应该返回0和第二行。向函数参数添加第二个键并不是那么难,比如
function super_unique($array, $key, $key2) {
然后将第二个键的现有逻辑加倍
if (!isset($temp_array[$v[$key].$v[$key2]])) {
$temp_array[$v[$key].$v[$key2]] = & $v;
}
如果“.”将值粘在一起形成一个字符串您想要什么输出?@KarolyHorvath是正确的,您可以想出更好的方法来识别唯一记录如果它们是数值,只需添加一个空格。