2016-08-25 5 views
0

ID 16の配列キーから2回移動しています。この重複IDを削除することができます。 (IDが重複他のフィールドは無視しますIF REMOVE)多次元配列のキーの基に重複配列を削除するPHP

Array 
    (
    [1] => Array 
      (
       [ID] => 16 
       [username] => dudda 
       [message-time] => 2016-08-25 12:12:53 
      ) 

    [2] => Array 
      (
       [ID] => 16 
       [username] => dudda 
       [message-time] => 2016-08-25 12:01:54 
      ) 

    [3] => Array 
      (
       [ID] => 3 
       [username] => himanshu 
       [message-time] => 2016-08-15 12:53:38 
      ) 

    [4] => Array 
      (
       [ID] => 15 
       [username] => dawinder 
       [message-time] => 2016-08-10 11:40:33 
      ) 
    ) 
+0

どの言語でありますこの?また、メッセージの時間が異なることに注意してください、これは重複していると確信していますか? – famagusta

+0

これはどの言語ですか?私はこれがPHPだと思いますか? –

答えて

1

私は解決策

を手に入れました10

私は同じのために、この機能を開発している:

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($array_name,'key'); 
1

我々は、脱重複する重複クエリの種々の結果を、これを用います。

$input = array_map("unserialize", array_unique(array_map("serialize", $input))); 
+0

ここではメッセージ時間が異なりますので、IDのベースでのみ削除する必要があります。 –

1
array array_unique (array $array [, int $sort_flags = SORT_STRING ]) 

これを読む:出力がされるhttp://php.net/manual/en/function.array-unique.php

<?php 
$input = array("a" => "green", "red", "b" => "green", "blue", "red"); 
$result = array_unique($input); 
print_r($result); 
?> 

について:

Array 
(
    [a] => green 
    [0] => red 
    [1] => blue 
) 
+0

これはコメントです。マニュアルの引用は良い答えとはみなされません。次回はコード例を提供してください。あなたが提供したコードは、あなたがリンクしている関数のドキュメント定義です。 – Machavity

+0

Bro私は知っていますが、私がコメントしていない(私の評判は50未満でした)のでコメントはできません。 –

+0

コード例を記入してください。これは受け入れられる回答です – Machavity