2016-08-18 12 views
1

ich auf ZWEI Tasten ‚id_send‘ und ‚ID_IP‘, dupplicate Reihen bassed entfernen möchten entfernen ich eine Funktion gefunden, aber es kann nur mit Ein Schlüssel:Ich möchte dupplicate Reihen in Array ** Tasten bassed auf ** ZWEI

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; 
} 

dies ist die Array-Statistik ':

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

So ist die Funktion, die ich will, sollte die 0 und die zweite Reihe zurückgibt.

+0

welche Ausgabe möchten Sie haben? – Aminesrine

Antwort

2

Es ist nicht so schwer wie

function super_unique($array, $key, $key2) { 

einen zweiten Schlüssel für die Funktionsargumente hinzufügen und dann einfach doppelt auf die bestehende Logik für den zweiten Schlüssel

if (!isset($temp_array[$v[$key].$v[$key2]])) { 
    $temp_array[$v[$key].$v[$key2]] = & $v; 
} 

wo das ist. " klebt Werte zusammen in eine Zeichenfolge

+1

Also kleben Sie 12 & 1 zusammen, dann 1 & 21, und .... oops. –

+0

wie Sie sagten, es ist einfach zu tun, danke sehr viel .. – mosab

+0

@KarolyHorvath ist richtig, Sie können sich etwas besser vorstellen, eindeutige Datensätze zu identifizieren –

Verwandte Themen