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改变任何东西,因为Class_ID值是不同的......什么了?
答案 0 :(得分:3)
注意:当且仅当
时,才认为两个元素相等(string) $elem1 === (string) $elem2
用文字表示:当字符串表示相同时。将使用第一个元素。
您的所有元素toString
均为Array
。
答案 1 :(得分:0)
从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;
}