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
        )

)

我不希望它是改变与array_unique什么,因为值类标识码是不同的...怎么了?

有帮助吗?

解决方案 2

实测值从php.net一个函数,它在多维数组array_unique:

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

其他提示

文档

  

注意:当两个元件被认为是相等当且仅当

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

在的话:当字符串表示是相同的。第一元件将被使用。

您所有元素toStringArray

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top