Problemas com Array_unique
-
27-09-2019 - |
Pergunta
print_r($tokens);
$tokens = array_unique($tokens);
print_r($tokens);
Fornece a seguinte saída:
Array
(
[0] => Array
(
[Class_ID] => 32709
)
[1] => Array
(
[Class_ID] => 34682
)
[2] => Array
(
[Class_ID] => 34818
)
)
Array
(
[0] => Array
(
[Class_ID] => 32709
)
)
Eu não quero que isso mude nada com esse Array_unique, já que os valores da classe_id são diferentes .. e aí?
Solução 2
Encontrei uma função do Php.net que faz Array_unique em matrizes multidimensionais:
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;
}
Outras dicas
A partir de documentação:
Observação: Dois elementos são considerados iguais se e somente se
(string) $elem1 === (string) $elem2
Nas palavras: quando a representação da string é a mesma. O primeiro elemento será usado.
Todos os seus elementos toString
são Array
.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow