0
print_r($tokens);
$tokens = array_unique($tokens);
print_r($tokens);

次の出力が得られます。

Array
(
    [0] => Array
        (
            [Class_ID] => 32709
        )

    [1] => Array
        (
            [Class_ID] => 34682
        )

    [2] => Array
        (
            [Class_ID] => 34818
        )

)
Array
(
    [0] => Array
        (
            [Class_ID] => 32709
        )

)

Class_IDの値が異なるため、そのarray_uniqueで何かを変更したくありません。

4

2 に答える 2

3

ドキュメントから:

注: 2 つの要素が等しいと見なされるのは、次の場合のみです。

(string) $elem1 === (string) $elem2

つまり、文字列表現が同じ場合です。最初の要素が使用されます。

すべての要素toStringArray.

于 2010-08-10T05:58:01.360 に答える
0

多次元配列で array_unique を実行する php.net の関数を見つけました:

function super_unique($array) //array unique for multi 
{
  $result = array_map("unserialize", array_unique(array_map("serialize", $array)));

  foreach ($result as $key => $value)
  {
    if ( is_array($value) )
    {
      $result[$key] = super_unique($value);
    }
  }

  return $result;
}
于 2010-08-11T03:37:47.503 に答える