我想删除基于 TWO 键'id_send'和'id_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 = 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和第二行。
答案 0 :(得分:2)
将第二个键添加到函数参数(如
)并不难function super_unique($array, $key, $key2) {
然后将第二个键的现有逻辑加倍
if (!isset($temp_array[$v[$key].$v[$key2]])) {
$temp_array[$v[$key].$v[$key2]] = & $v;
}
那里'。'将值粘合成一个字符串