2014-04-26 3 views
3

J'ai un tableau, $ result, qui délivre en sortie:Tableau Multidimensional to Array simple

Array ([0] => Array ([username] => boyzerooooo [0] => boyzerooooo) [1] => Array ([username] => mynameiszero23 [0] => mynameiszero23) [2] => Array ([username] => yournameiszero [0] => yournameiszero) [3] => Array ([username] => zerotolerance [0] => zerotolerance)) 

J'utilise la fonction suivante, pour la transformer en un tableau à deux dimensions:

function array_flatten($array) { 
    if (!is_array($array)) { 
    return FALSE; 
    } 
    $result = array(); 
    foreach ($array as $key => $value) { 
    if (is_array($value)) { 
     $result = array_merge($result, array_flatten($value)); 
    } 
    else { 
     $result[$key] = $value; 
    } 
    } 
    return $result; 
} 

qui alors sorties à:

Array ([username] => zerotolerance [0] => boyzerooooo [1] => mynameiszero23 [2] => yournameiszero [3] => zerotolerance) 

Mon problème est que ZeroTolerance est deux fois d'être émis en sortie, et je ne sais pas pourquoi. Lorsque j'utilise foreach pour sortir le tableau, zerotolerance est sorti deux fois. Comment puis-je réparer cela?

Répondre

0

Utilisez array_unique et array_values ..

return array_unique(array_values($result)); 

Les array_values renvoie toutes les valeurs du tableau et les array_unique renvoie uniquement les valeurs uniques du tableau.

+0

: D Merci, pouvez-vous expliquer votre réponse? Ça marche. J'accepterai votre réponse quand je le pourrai. –