2010-03-03 6 views
0

i besoin d'aide sur le filtrage de mon tableau à 2 dimensions, comme exemple ci-dessous:PHP: filtrage 2 dimensions/tableau multidimensionnel

array(29) { 
    [0]=> array(2) { 
     [0]=> string(16) "Andorra La Vella" 
     [1]=> string(2) "AD" 
    } 
    [1]=> array(2) { 
     [0]=> string(16) "Andorra La Vella" 
     [1]=> string(2) "AD" 
    } 
    [2]=> array(2) { 
     [0]=> string(16) "Andorra La Vella" 
     [1]=> string(2) "AD" 
    } 
    [3]=> array(2) { 
     [0]=> string(16) "Andorra La Vella" 
     [1]=> string(2) "AD" 
    } 
    [4]=> array(2) { 
     [0]=> string(12) "Les Escaldes" 
     [1]=> string(2) "AD" 
    }... 

Comment filtrer une valeur redondante de mon tableau? comme key [0] a la même valeur que key [1] [2] [3] et je veux enlever cette valeur redondante de mon tableau.

J'ai essayé array_filter() mais pas de chance. J'ai essayé array_splice() et unset(), pas de chance dans l'un ou l'autre. Est-ce que php fournit une fonction de tableau natif pour cela?

grâce,
aji

+0

Qu'est-ce qui renvoie le tableau en premier lieu? – Gordon

Répondre

0

Peut-array_unique() faire? Vous ne savez pas si cela fonctionne avec des tableaux imbriqués.

EDIT: non, il ne peut pas le faire.

Note: Notez que array_unique() n'est pas destiné à travailler sur des tableaux multidimensionnels.

+2

Non: * Remarque: Notez que array_unique() n'est pas conçu pour fonctionner sur des tableaux multidimensionnels. * Les valeurs sont converties en valeurs de chaîne puis comparées. Je ne pense pas que cela fonctionne. –

+0

salut ben, j'ai essayé array_unique() aussi, mais n'a pas fonctionné. il retourne seulement 1 tableau de 29 arrrays. merci, ~ aji – aji

2

Si vous voulez supprimer les doublons, vous pouvez trouver plus d'informations sur un autre thread

Amusez-vous!

0
$to_filter = array(); // your array 
    $filtered = array(); // unique values 

    array_walk($to_filter, function($v, $k) use (&$filtered) { 
     if(!in_array($v, $filtered)) { 
      $filtered[] = $v; 
     } 
    }); 

Et comment il semble propre avec les fonctions anonymes de PHP 5.3 ..,.

+0

malheureusement, j'ai utilisé PHP 4 :) – aji

Questions connexes