Array Unique?????

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Array Unique?????

Re: Array Unique?????

par moogli » 28 mars 2013, 20:52

doc array_unique :
Note: Notez que array_unique() ne fonctionne pas avec des tableaux multi-dimensionnels.
et c'est le cas la :mrgreen:


@+

Re: Array Unique?????

par sirakawa » 28 mars 2013, 14:41

Ce ne serait pas ça par hasard:
<?php
$a = array();
if (($handle = fopen("test.csv", "r")) !== FALSE)
{
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) 
     {
        $a[] = array($data[0]);
      }
    fclose($handle);
$b = array_unique ($a);
}
?>

Re: Array Unique?????

par moogli » 28 mars 2013, 14:07

Salut,


Il faudrait le faire sur un tableau regroupant les resultars et pas autant de fois que as de ligne.
Ensuite la doc indique bien
Note: Notez que array_unique() ne fonctionne pas avec des tableaux multi-dimensionnels.
Vu que tu boucle déjà sur le fichier autant faire le tri dedans.
Il va te falloir parcourir le tableau résultat pour savoir si c'est déjà présent.


A partir du code que je t'ai fournis dans ce message, si le but c'est de ne pas insérer des doublons dans la table il faut ajouter une requête qui compte le nombre de ligne avec le même nom si c'est zéro insertion sinon on passe à l'intégration suivante.

@+

Array Unique?????

par Merevihn » 28 mars 2013, 12:13

Bonjour tout le monde, voilà je cherche à gérer les doublons de ma première colonne dans mon fichier CSV au moyen d'un array unique seulement ça ne marche pas je n'arrive pas à voir mon erreur :

Code : Tout sélectionner

<?php if (($handle = fopen("test.csv", "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $a = array($data[0]); var_dump($a); $b = array_unique ($a); var_dump($b); } fclose($handle); } ?>
il me tourne ceci :

array (size=1)
0 => string 'Sacs en Papier' (length=14)
array (size=1)
0 => string 'Sacs en Papier' (length=14)
array (size=1)
0 => string 'Sacs en Papier' (length=14)
array (size=1)
0 => string 'Sacs en Papier' (length=14)
array (size=1)
0 => string 'Sacs en Plastique' (length=17)
array (size=1)
0 => string 'Sacs en Plastique' (length=17)
array (size=1)
0 => string 'Sacs en Plastique' (length=17)
array (size=1)
0 => string 'Sacs en Plastique' (length=17)
array (size=1)
0 => string 'Sacs PP Tissés' (length=14)
array (size=1)
0 => string 'Sacs PP Tissés' (length=14)
array (size=1)
0 => string 'Sacs PP Tissés' (length=14)
array (size=1)
0 => string 'Sacs PP Tissés' (length=14)

alors que je souhaite quelque chose comme :

array (size=1)
0 => string 'Sacs en Papier' (length=14)
array (size=1)
0 => string 'Sacs en Plastique' (length=17)
array (size=1)
0 => string 'Sacs PP Tissés' (length=14)