Question

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

donne le résultat suivant:

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

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

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

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

)

Je ne veux pas que ce soit de changer quoi que ce soit avec cette array_unique, puisque les valeurs class_id sont différentes .. Whats up?

Était-ce utile?

La solution 2

trouvé une fonction de php.net qui fait array_unique sur les tableaux multidimensionnels:

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

Autres conseils

De documentation :

  

Remarque: Deux éléments sont considérés comme égaux si et seulement si

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

En d'autres termes: lorsque la représentation de chaîne est le même. Le premier élément sera utilisé.

Tous vos éléments toString sont Array.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top